去年、python関連の書籍を探してたら、こんな本があった。
pythonといえば、AIや機械学習...と思っていたけど、それ以外にもルーティンワーク系処理の自動化にもなかなか便利。
で、今回はこの本にもある「Excel操作」について、ちょこっと触れてみた。
(ExcelがPythonにも対応するらしいし。)
ブックを開く&シートの値取得
import openpyxl as pyxl from openpyxl import load_workbook ## 既存のブックを開く場合 work_book = load_workbook('test.xlsx') work_sheet = work_book.get_sheet_by_name('Sheet1') ## 新規WorkBookを作成する場合 new_workbook = pyxl.Workbook() ## 新規シートを作成して取得。 ## もちろんシート名指定以外にも、やり方はある。(あくまで一例) new_workbook.create_sheet('New_Sheet', 0) new_sheet = new_workbook.get_sheet_by_name('New_Sheet') ## 値をCell形式で取得する方法 target_cell = work_sheet.cell(row=1, column=1) ## Range形式で取得する方法 target_range = work_sheet['A1'] ## 複数範囲で取得する方法。 ## coordinameはアドレスを取得できる。 for rows in work_sheet['A1':'C3']: for col in rows: print(col.coordinate, col.value)
シートの値設定&ファイルの保存
## 値&数式の設定(Cells形式&Range形式) new_sheet.cell(row=1, column=3).value = 'abc' new_sheet["B2"] = "SUM(A3:C3)" ## シートを保存(物理ファイルとして) new_workbook.save('test2.xlsx')
まだまだ本当に基本的なところしか網羅できてないけど、もっといろいろ知識を増やしていきたいなあ。
てか、Excelにpythonが使用できれば、ソースファイルの共有とか、いろいろ可能性が出てくるので、今後に期待したいところです。