LoginSignup
wellwell3176
@wellwell3176

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

openpyxlの.delete.cols()の挙動が分かりません

解決したいこと

python3 で openpyxlのdelete.cols()を使ってワークシートの編集を行った際、
何故ワークブックに編集結果を戻さなくて良いのかが分かりません。

初歩的な質問であるとは思うのですが、どうかご教示いただきたくあります。

該当するソースコード

使っているプログラムコード
import openpyxl
wb=openpyxl.load_workbook('testA.xlsx')
ws = wb.worksheets[0]
ws.delete_cols(2)
wb.save('testB.xlsx')

見ての通り、testAの2列目を削除した後、testBとして保存し直すだけの超単純なものです

疑問点

wsの中身しか編集していないのに、何故wbの中身も編集済みになっているのでしょうか?
図示すると下図のようなフローになっている気がするのですが・・・。

image.png
image.png
                         図1

自分で考えたこと

実は下図2のように実はwsとwbの中身はリンクしている?
図2が正しい場合、これはpythonだと常に起きるのでしょうか?それともopenpyxlの.worksheets[]固有の現象なのでしょうか?
image.png
                         図2

0

No Answers yet.

Your answer might help someone💌