OpenPyXLはPythonの環境でExcelを操作できるライブラリの一つです。
特にセルの値などの入力やセルの書式設定も容易にできるので覚えておいて損はないライブラリです。
今回は数式を入力すること、数式の中に変数を使って連続的な処理をする実用的なテクニックまで紹介していきます。
Python環境の導入がまだの方はこちらの記事を先に読んでください。
AnacondaのJupyter notebookを開き、以下の一行を実行することでインストール完了です。
pip install openpyxl
まずはOpenXLをインポートします。
import openpyxl
データフレームにエクセルを読み込みます。(df_in)
df_in=openpyxl.load_workbook('test.xlsx')
出力するファイル名はdf_outとしておきます。
df_out=df_in.active
df_out.cell(row=1,column=1,value='日付')
datetimeのライブラリをインポートしておけば今日の日付を入力することも可能です。
import datetime
df_out.cell(row=2,column=1,value=datetime.date.today())
TEXT関数で曜日を返すことができます。
df_out.cell(row=3,column=1,value='=TEXT(A2,"aaaa")')
“aaaa”は日本語で省略しない曜日の表示形式です。
df_out.save(test_out.xlsx)
ここまでの結果はこんな感じです。
for文を使った場合の記述方法
if文でA列にデータがあれば●、なければ×を入力する例です。
for i in range(1,5):
df_out.cell(row=i,column=2,value='=if(A'+str(i)+'>0,"●","×")')
ここまで実行して、ファイルを開いてみましょう。
どうでしょうか。関数も思いのままに操作できました。