Closed2

Python x Excel 0-> 1

yoshitakayoshitaka
import openpyxl
import glob
wb = openpyxl.Workbook()
sheet = wb.active
sheet.title = 'test_sheet_1'
wb.save('test.xlsx')
glob.glob("*.xlsx")

openpyxl.Workbook()
openpyxl.Workbook()関数を呼び出すと、新規に空のWorkbookオブジェクトを生成することができます。
このタイミングでは、まだExcelファイルは作成されていません。あくまでも新しいワークブックオブジェクトが生成されただけですのでご注意ください。
アクティブなExcelシートを取得する

ワークブックオブジェクト.active
ワークブックオブジェクトには、activeという属性が用意されています。active属性には、ワークブックのアクティブなシートが格納されています。
これまでの連載では、すでにサンプルで使用するExcelシートの中身が分かっていたため、ワークブックオブジェクトのget_sheet_by_name()メソッドを用いて、作業対象シートを指定していました。
しかし、今回は新規に作成したワークブックオブジェクトなので、あらかじめシート名を確認することはできません。そのため、今回のような場合は、ワークブックオブジェクトのactive属性を調べることが必要です。
今回のサンプルコードでは、取得したシートの名前を、次のコードで上書きしています。
sheet.title = ‘test_sheet_1’

ワークブックオブジェクト.save(‘ファイル名.xlsx’)
ワークブックオブジェクトのsave()メソッドに文字列としてファイル名を渡せば、Excelファイルとして保存できます。このタイミングで、Excelファイルが生成されます。
注意点ですが、ファイル名は、コードを再実行する度に正しいか確認しましょう。意図しない操作(例えば、誤って元のExcelファイルを上書きしてしまうなど)を行わないためにも、常に意識するようにしましょう。

このスクラップは2021/12/27にクローズされました