こんにちは。かつひさ(@katsuhisa__)です。
PythonのOpenPyXLモジュールを使い、面倒で退屈なExcel作業をPythonで自動化する方法をお伝えする連載の五記事目です!
連載一記事目はこちら。
前回は、OpenPyXLでExcelのシートを追加・削除する方法をご紹介しました。今回は、OpenPyXLでExcelのセルに値を書き込み、編集する方法を学習しましょう!
セルに値を書き込む
さっそく、セルへの値の書き込みをOpenPyXLから行う方法を学びましょう。
import openpyxl
wb = openpyxl.Workbook()
sheet = wb.active
sheet['A1'] = 'test'
wb.save('test_write.xlsx')
作成したtest_write.xlsxの中身を見てみましょう。
A1セルに値が書き込まれていることが確認できました。
※フォントサイズは、画像を見やすくするため大きくしています。元のフォントサイズは11ptで、もっと小さいです。
セルに値を書き込む方法ですが、見ての通り何か新しいメソッドを使っているわけではないですね。これまでの連載で学習したようにシートオブジェクトを取得し、sheet[‘A1’] = ‘test’と、単にセルの値を入力しただけです。
その後、値を書き込んだExcelのワークブックオブジェクトをsave()メソッドを用い、Excelファイルとして保存をしました。かんたんですね。
save()メソッドは、連載三記事目で詳しくご紹介しました。
セルの値を編集する
次にセルの値を編集する方法を学習しましょう。先ほど作成したtest_write.xlsxファイルを編集してみます。
wb=openpyxl.load_workbook('test_write.xlsx')
sheet = wb.active
sheet['A1'] = 'fixed'
wb.save('test_write.xlsx')
再度、test_write.xlsxの中身を見てみましょう。
A1の値がtestから、fixedに修正されていますね。
※今回もフォントサイズは、画像を見やすくするため大きくしています。
今回は、openpyxl.load_workbook(ファイル名)メソッドを用い、先ほど作成したtest_write.xlsxを開き、A1セルの値を更新し、save()メソッドで保存しただけです。
openpyxl.load_workbook(ファイル名)メソッドは、連載第一記事目で学習したのでよければ復習してみてください。
(おまけ)セルの値を編集後のExcelファイルを別ファイルとして保存
ちなみにですが、最後のsave()メソッドで引数として指定しているファイル名(test_write.xlsx)を別の名前(例: test_write2.xlsx)に変更すれば、新しいExcelファイルとして保存することもできます。
OpexPyXLでコード修正を夢中でやっていると、うっかりsave()メソッドでファイル名の指定を誤り、上書いてはいけないファイルを上書いてしまった・・・なんてことにもなりかねないので、ご注意くださいね。
作業ディレクトリごと必要に応じて分けるとこのようなうっかりミスが起きにくくなるのでオススメです。
さいごに
以上、OpenPyXLでExcelのセルに値を書き込み、編集する方法でした。
連載も五記事目になると、これまでの組み合わせでできることが増えてきましたね!これまでの連載で基礎をしっかりと身につけられた方にとっては拍子抜けする内容だったかもしれません。
次回は、書き込んだセルのフォントを修正する方法をご紹介するのでお楽しみにしていてください。なお、予習を進めたい方は、『退屈なことはPythonにやらせよう』をお買い求めください。
本連載の更新情報は、管理人のタカハシ(@ntakahashi0505)さんのTwitterアカウントや、もちろん私のアカウント(@katsuhisa__)で配信していくので、もしよければ、フォローをお願いします!
書籍『Pythonでかなえる Excel作業効率化』発売のお知らせ
この連載が『Pythonでかなえる Excel作業効率化』という本になりました! Pythonの使い方の基本からだけでなく、Pythonでオフィス業務を効率化するために必要な知識をたくさん詰め込みました!ぜひお買い求めください。連載目次:PythonでExcelを操作するモジュールOpenPyXL
OpenPyXLというモジュールを使うことでPythonでExcelファイルを操作することができます。本シリーズでは初心者向けにExcelファイルの作業をPythonで自動化する方法をお伝えします。- PythonでExcel作業を自動化するOpenPyXLのはじめての使い方
- OpenPyXLで複数のセルの値を取得する方法
- OpenPyXLでExcelファイルの新規作成・保存を行う方法
- PythonでOpenPyXLを使ってExcelのシートを追加・削除する方法
- PythonでOpenPyXLでExcelのセルに値を入力する方法と編集する方法
- PythonでOpenPyXLを使いExcelのフォントを設定する方法
- PythonでOpenPyXLを使いExcelに数式を入力する方法
- PythonでOpenPyXLを使いExcelの行と列について色々な設定をする方法
- PythonでOpenPyXLを使いExcelの行と列を固定する方法
- PythonでOpenPyXLを使いExcelのグラフを作成する〜Chart関連オブジェクトの紹介〜
- PythonでOpenPyXLを使いExcelのグラフを作成する〜グラフのつくりかた編〜