目次
今回学ぶこと
PythonでExcelを操作する方法のうち、今回は基礎編として下記内容をご紹介していきます
- 「openpyxl」ライブラリのインポート
- 「ワークブック」「ワークシート」「セル」の概念
- 作成→入力→保存までの一連の流れ
今後、DataFrameやグラフをExcelに書き込む場合も同じ流れになります
まずはExcelを作り、加工して、保存するまでの一連の流れを理解しましょう
openpyxlでは非常に細かいExcel作業をPython上で実行することができます
その一方で高度なPythonの技術が必要になります
難しい説明は他サイトに譲るとして、本サイトでは苦手意識がでない範囲でご説明を進めます
事前準備
openpyxlというPythonでExcelを使うことができるライブラリをインポートします
import openpyxl
基礎概念の理解
openpyxlでは普段Excelでは意識して使わない用語が出てきます
Workbook Worksheet Cellこの3つは実際のExcelに照らし合わせ見ていきましょう
1つのExcelファイルがWorkbookという概念を使います
慣習として「wb」と略される場合が多いです
続いてExcelの中のシートをWorksheetという概念で「wb」と略されて利用します
そしてセルはそのままCellとして扱われます
もちろんExcelのように「A3」「B5」というセルの指定をすることもできます
作成から保存までの一連の流れ
ワークブックの作成
まずはWorkbookを利用して「wb」という変数にワークブックを作ります
wb = openpyxl.Workbook()
ワークシートの作成
activeを使うことで「ws」という変数にワークシートを定義します
※ワークブックには始めからワークシートが作られているため、それをactiveにするだけです
ws = wb.active
もしくはcreate_sheetでもワークシートを作成することができます
ws = wb.create_sheet()
また「シート名」を記載することもできます
デフォルトでは最後にシート作成されますが、パラメータで最初や最後から2番目などポジションを設定できます
ws1 = wb.create_sheet('Mysheet') # 最後(デフォルト)
ws2 = wb.create_sheet('Mysheet', 0) # 最初
ws3 = wb.create_sheet('Mysheet', -1) # 最後から二番目
手持ちのExcelを読み込む
load_workbookを使うことで、既存のExcelファイルをPythonに読み込むこともできます
wb4 = openpyxl.load_workbook('sample.xlsx')
パスを指定しても同じ結果になります
wb4 = openpyxl.load_workbook('/content/drive/MyDrive/Python/sample.xlsx')
DataFrameに読み込むには方法はこちら↓
【Python】read_excel|エクセルをPythonに読み込む方法ワークシート名を変更する
titleを使うことでワークシート名を変更することができます
ws.title = 'テストのシート'
ワークシート名を抽出
sheetnamesを使うことでワークブックに含まれるシート名を抽出することができます
wb.sheetnames
セルに上書き
先ほどのワークシートに対し「A4」のセルを指定して上書きを実施することができます
今回は数値の1を挿入します
ws['A4'] = 1
cellを使って「row」「column」を指定し「value」を挿入することもできます
ws.cell(row=4, column=2, value=2)
ワークブックを保存
saveを使い、Pythonで操作したExcel(Workbook)を保存することができます
ファイル名と拡張子(xlsx)を記載し、実行します
wb.save('test.xlsx')
もちろんファイルパスを指定して保存も可能です
wb.save('/content/drive/MyDrive/Python/test.xlsx')
単純にDataFrameをExcelに書き出す方法はこちら↓
【Python】to_excel|エクセルにデータを書き込む方法データの確認(ローカル)
保存したExcelを開きましょう
上書きした「A4」のセルと「row=4, column=2 (B4)」のセルに数値が入っていることが分かります
まとめ
今回はPythonでExcelファイルを実行するにあたり、一連の流れについてご紹介してきました
基本的にはPythonのDataframeでデータを集計し、加工が終わったテーブル・グラフをExcelに加工するという流れになりますが、
作成から保存までの流れは必須になるので覚えて使ってみてください