本記事ではPythonのopenpyxlを使って、Excelファイルを操作する基本的な方法をご紹介していきます。
ソースコード
gist8f19c4801bcd021e3d153d411a2b4025
①:Excelファイルの読み込み
この部分ではExcelファイルを開き、作業するシートを指定しています。
- wb = openpyxl.load_workbook(file_path,data_only=True)
上記の data_only=True は、取得する値を数値に固定するために記載しています。
もし記載していない場合、セル内の数式が取得され、データ分析の手間になってしまうため付けておいた方がいいでしょう。
②:セルに追加
この部分ではセルに実数、数式を追加しています。
- sheet.cell(row=start,column=1).coordinate
上記はセルの座標を示しているもので、startが1の場合”A1”が出力されます。
sheet[セル座標] という方法でも値を追加できますが、セル座標を直打ち若しくは後ほど紹介する特殊な処理が必要になるのであまり使わないと思います。
③:セル情報の取得
次にExcelファイル内のデータを改変するのではなく、Python内で処理するためにデータ取得の方法です。
特に複雑なのが openpyxl.utils.cell を使った方法です。
例)
(1,1)→A1
(3,1)→C1
こちら openpyxl.utils を使った時、下記と同じような問題が発生すると思います。
上記の記事は古かったため同じ解決法を試していませんが、openpyxlのバージョンを再更新してもエラー解決には至りませんでした。
そのため素直に openpyxl.utils ではなく openpyxl.utils.cell を使いましょう。
④:セルの装飾
実質的なExcelファイルの処理の最後でご紹介するのはセルの装飾です。
サンプルコードだと値が偶数のセルのみ灰色に背景色を変更しています。
データ処理だけならば装飾は必要ないのですが、後々Excelファイルを開いて確認する場合は、装飾をして可読性を上げておくといいでしょう。
⑤:Excelファイルに保存
最後にExcelファイルを保存して終了します。
念のためファイルを閉める close() を忘れないようご注意ください。
参考記事
おすすめ記事
今回の記事では新しいExcelファイルを使って操作したため必要なかったのですが、自分以外の作ったExcelファイルを読み込む時セル結合されている場合があります。
そのような時の対処法として上記の良記事があったため、セル結合ありの処理を行うときは上記の記事を参考にしてください。
本記事の内容は以上となります。
Pythonで処理したデータをExcelファイルに保存するというのは結構ありふれた方法だと思いますので、ぜひとも使えるようにしておきましょう。
本記事は以上です。お疲れさまでした。