あるエクセルブックのシートを他のエクセルシートへコピーしようとして色々調査したところ、下記内容でそれができてしまいました。元データのシートは['個人', '月']と二つシートがあるのですが、どちらも新しい保存先ファイルに反映されています。for文中のwsをトリガーにwb.worksheetsのリストからシートを抜出すものだと思い込んでいましたが、for文の後にその記載がなくても処理されていることが一つの疑問点です。また、wb.worksheetsのリストから値を一つ取出して、wb.saveにて都度保存したら、1番目に処理したシートは消えて2番目に処理したシートだけになるのでは?と思ったのですがなぜでしょうか?
違う形でappendを使いコピーして追加するしかないかなと思っていましたが下記内容でできてしまいました、ただ、この内容でどのような処理が行われているのかがわからないため教えていただける方見えましたらよろしくお願いいたします。
お手数ですが、よろしくお願いいたします。
Python
1import openpyxl 2import glob 3from glob import glob 4 5wb = openpyxl.load_workbook('C:\デスクトップ\maruse\1.xlsx') 6 7for ws in wb.worksheets: 8 wb.save('C:\デスクトップ\maruse\100.xlsx') 9 10 11 12print( wb.sheetnames ) 13['個人', '月']#出力内容
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。