PythonのopenpyxlでExcelグラフを操作する方法
この記事では、Pythonのopenpyxlライブラリを用いてExcelファイルにグラフを作成・操作する方法を学びます。データを視覚化しやすくするためのExcelグラフの操作は、データ分析や報告書作成で非常に役立ちます。初心者の方でも理解しやすいように、各ステップに詳しい説明と実用的なサンプルコードを提供しています。
ほかの記事
- Python『openpyxl』入門:Excelセルのフォント・背景色・配置情報を取得する方法
- Pythonのopenpyxlを使ったExcelセル書式設定入門 – 実務で役立つフォーマット技術
- Excel作業を自動化!Python『openpyxl』で結合セルの操作方法を徹底解説
サンプルコード
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()
このコードで、棒グラフのインスタンスを生成します。使用するグラフタイプに応じて、BarChart
をPieChart
やLineChart
に変更可能です。
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.title
とy_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の最新バージョン情報やソースコード、ドキュメントを確認できます。
コメント