Pythonを使って、Excelのグラフを自動で作成したいと思ったことはありませんか?この記事では、openpyxlでExcelファイルを操作し、matplotlibでグラフを描画し、それを画像としてExcelに埋め込む方法をわかりやすく解説します。
この記事の内容
- PythonでExcelを扱うための基本(openpyxl)
- matplotlibでグラフを描画・保存する方法
- 作成したグラフをExcelファイルに貼り付ける方法
- 実行可能なサンプルコード付き
1. 使用ライブラリのインストール
以下のコマンドで必要なライブラリをインストールします。
pip install openpyxl matplotlib
2. matplotlibでグラフを作成して画像保存
import matplotlib.pyplot as plt
# サンプルデータ
x = [1, 2, 3, 4, 5]
y = [10, 15, 13, 17, 20]
# グラフ作成
plt.plot(x, y, marker='o')
plt.title("売上推移")
plt.xlabel("月")
plt.ylabel("売上")
plt.grid(True)
# 画像として保存
plt.savefig("chart.png")
plt.close()
このコードは、シンプルな折れ線グラフを「chart.png」という名前で保存します。
3. openpyxlでExcelにグラフ画像を貼り付ける
from openpyxl import Workbook
from openpyxl.drawing.image import Image
# 新しいExcelファイル作成
wb = Workbook()
ws = wb.active
ws.title = "グラフ付きデータ"
# グラフ画像を読み込み
img = Image("chart.png")
# 任意のセルに貼り付け
ws.add_image(img, "B2")
# 保存
wb.save("output_with_chart.xlsx")
これで、「output_with_chart.xlsx」にグラフ画像が貼り付けられたExcelファイルが作成されます。
4. よくあるエラーと対処法
- Image file not found: → matplotlibで保存した画像ファイル名が間違っていないか確認しましょう
- PermissionError: → Excelファイルが開いたままだと保存できません。事前に閉じておきましょう
5. まとめ
Pythonでは、matplotlibで美しいグラフを作成し、openpyxlでExcelに埋め込むことで、業務の自動化・効率化が可能です。手作業でグラフを作る手間を省きたい方におすすめです。