Python

【PythonでExcelを操作】OpenPyXLのインストールから実行まで

OpenPyXL インストール

OpenPyXLはPythonの環境でExcelを操作できるライブラリの一つです。

特にセルの値などの入力やセルの書式設定も容易にできるので覚えておいて損はないライブラリです。

今回は数式を入力すること、数式の中に変数を使って連続的な処理をする実用的なテクニックまで紹介していきます。

Python環境の導入がまだの方はこちらの記事を先に読んでください。

【2020年版、Python3をはじめよう!(Mac&Win対応)】AnacondaとJupyter notebookの始め方 はじめに Jupyter notebookとは Jupyter notebook(ジュピター・ノートブック)はブラウザ上で...

AnacondaのJupyter notebookを開き、以下の一行を実行することでインストール完了です。

pip install openpyxl

Excelファイルの読み込み

まずは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())

基本的な数式の入力とfor文による変数を使った数式の入力

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,"●","×")')

ここまで実行して、ファイルを開いてみましょう。

どうでしょうか。関数も思いのままに操作できました。

Mickey@コーヒー好きエンジニア

【製造業×プログラミング×AI】Python/VBAを活用した業務改善、Streamlit/Plotlyを活用したWebアプリ開発について初心者向けに発信中|趣味は自家焙煎コーヒー作り|noteでは焙煎理論を発信|ココナラではプログラミングに関する相談,就職/転職やコーヒーに関する相談などのサービスをやっています