PythonでのExcel自動化!openpyxlによるグラフ作成と操作方法

PythonのopenpyxlでExcelグラフを操作する方法

この記事では、Pythonのopenpyxlライブラリを用いてExcelファイルにグラフを作成・操作する方法を学びます。データを視覚化しやすくするためのExcelグラフの操作は、データ分析や報告書作成で非常に役立ちます。初心者の方でも理解しやすいように、各ステップに詳しい説明と実用的なサンプルコードを提供しています。

ほかの記事

サンプルコード


import openpyxl
from openpyxl.chart import BarChart, Reference

wb = openpyxl.load_workbook("sample.xlsx")
ws = wb["Sheet1"]

chart = BarChart()
data = Reference(ws, min_col=1, min_row=2, max_col=1, max_row=10)
chart.add_data(data, titles_from_data=True)
chart.title = "Sales Data"
chart.x_axis.title = "Month"
chart.y_axis.title = "Sales"

ws.add_chart(chart, "E5")
wb.save("updated_sample.xlsx")
wb.close()

1. openpyxlライブラリをインポートする

まず、PythonスクリプトでExcelファイルを操作するために必要なopenpyxlライブラリをインポートします。このライブラリは、Excelファイルの作成・読み取り・編集に特化しており、データ入力やグラフ作成が簡単に行えます。

import openpyxl

このコードを実行すると、openpyxlのすべての機能を使えるようになります。Excel操作の際には、このライブラリの使用が推奨されています。

2. Excelファイルを開く

openpyxl.load_workbook関数を使用して、Excelファイルを開きます。以下のコードでは、既存の”sample.xlsx”というExcelファイルを読み込んで操作可能な状態にしています。

wb = openpyxl.load_workbook("sample.xlsx")

このコードで、指定されたファイルが読み込まれ、wbという変数にワークブックが格納されます。ファイルが見つからない場合はエラーが発生するため、ファイルパスを確認しましょう。

3. 特定のワークシートを選択する

開いたワークブックから、目的のワークシートを選択します。通常、複数のシートを含むExcelファイルから必要なシートを指定して操作を行います。

ws = wb["Sheet1"]

このコードで、「Sheet1」という名前のワークシートを選択します。シート名が正確でないとエラーが出るため、事前にシート名を確認してください。

4. 図を作成する

openpyxlのchartモジュールを使用して、Excelで使用するグラフを作成します。ここでは、棒グラフ(BarChart)を例に挙げていますが、他にも円グラフ(PieChart)や折れ線グラフ(LineChart)なども利用可能です。

from openpyxl.chart import BarChart
chart = BarChart()

このコードで、棒グラフのインスタンスを生成します。使用するグラフタイプに応じて、BarChartPieChartLineChartに変更可能です。

5. データ範囲を指定する

作成したグラフに表示させるデータの範囲を、Reference関数を使用して指定します。これにより、指定したセル範囲がグラフに反映されます。

from openpyxl.chart import Reference
data = Reference(ws, min_col=1, min_row=2, max_col=1, max_row=10)

このコードでは、列1の2行目から10行目までの範囲をデータとして指定しています。範囲が正しいことを確認し、必要に応じて調整してください。

6. チャートにデータを追加する

データ範囲を指定したら、add_dataメソッドを使用して、データをグラフに追加します。

chart.add_data(data, titles_from_data=True)

このコードにより、指定したデータ範囲がグラフに追加され、タイトルとしてデータの先頭行が使用されます。

7. チャートにタイトルを設定する

グラフにタイトルを設定して、内容がわかりやすくなるようにします。

chart.title = "Sales Data"

このコードで、グラフに「Sales Data」というタイトルが設定され、視覚的な情報が増します。

8. チャートのx軸とy軸にラベルを設定する

x_axis.titley_axis.title属性を使用して、x軸とy軸にラベルを追加します。これにより、データの意味が明確になります。

chart.x_axis.title = "Month"
chart.y_axis.title = "Sales"

この例では、x軸には「Month」、y軸には「Sales」というラベルを設定しています。

9. 図をワークシートに追加する

作成したグラフをシートに挿入します。add_chartメソッドで任意の位置にグラフを追加可能です。

ws.add_chart(chart, "E5")

このコードで、グラフがセル「E5」に配置されます。配置場所を自由に設定できます。

10. Excelファイルを保存する

編集が完了したら、saveメソッドでファイルを保存します。

wb.save("updated_sample.xlsx")

指定したファイル名で保存されます。保存時に上書きされることがあるため、注意が必要です。

11. Excelファイルを閉じる

操作が終わったら、ファイルを閉じることでリソースを解放します。

wb.close()

このコードでファイルが閉じられます。ファイルを閉じることで、システムリソースが解放され、メモリ効率が向上します。

まとめ

この記事では、openpyxlを使ったExcelグラフの作成方法を解説しました。Excelファイルの読み込みからデータ範囲の指定、グラフのタイトルや軸ラベルの設定までの手順を学びました。これらの技術は、ビジネスデータの分析やレポート作成に役立ちます。

 

openpyxlの公式サイトはこちらからアクセスできます:

これらのリンクから、openpyxlの最新バージョン情報やソースコード、ドキュメントを確認できます。

コメント

タイトルとURLをコピーしました