[まとめ]openpyxlでグラフを作成[Python]

スポンサードリンク
アイキャッチ Python

この記事は、下記のような方におすすめです。

  • openpyxlで「どんなグラフが作成できるのか」を知りたい
  • グラフを作成するコードの書き方がわからない
  • やろうとしたけどうまくできなかった

そんなお悩みは今日で終わりです。
できるだけわかりやすく解説し、解決に導きます!

【著者情報】
Python歴3年。
入社2年目の春に先輩が突然トンズラし、業務を半分肩代わりするハメに…。
今までの1.5倍の仕事をこなせるはずもなく、苦しむ毎日。
業務効率化を模索中にPythonと出合う。
業務とPythonの相性が良く、2倍以上の効率化を実現。現在も効率化を進行中。

スポンサードリンク

openpyxlでグラフを作成するには

「chart」を使います。
作成頻度の高い下記3つのグラフについて解説いたします。

  • 円グラフ
  • 棒グラフ
  • 折れ線グラフ

まずは事前準備が必要かをチェックしましょう。

事前準備

  • openpyxlのインストール

既存のエクセルファイルを編集するには「openpyxl」のインストールが必要です。

openpyxlのインストール方法

openpyxlを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。

pip install openpyxl

※openpyxlを使用したことがある場合は、このインストール作業は不要です。

インストールに関する詳細や、インストールができなかった場合の対処法は下記記事で解説しております。
また、既存ファイルを開いて保存する方法など、基本解説も行っておりますのでご参考ください。

円グラフ

実行見本
import openpyxl
from openpyxl.chart import PieChart, Reference

wb = openpyxl.load_workbook('input.xlsx')
ws = wb['Sheet1']

nendai = Reference(ws, min_col=1, min_row=2, max_col=1, max_row=8)
ninzu = Reference(ws, min_col=2, min_row=2, max_col=2, max_row=8)
chart = PieChart()
chart.add_data(ninzu)
chart.set_categories(nendai)
ws.add_chart(chart, 'D1')

wb.save('input.xlsx')

円グラフを作成する場合は、2行目で「PieChart」をインポートします。
その他詳細な解説については、下記記事で行っておりますのでご参考ください。

棒グラフ

実行見本
import openpyxl
from openpyxl.chart import BarChart, Reference

wb = openpyxl.load_workbook('input.xlsx')
ws = wb['Sheet1']

date = Reference(ws, min_col=1, min_row=2, max_col=1, max_row=13)
item_a = Reference(ws, min_col=2, min_row=2, max_col=2, max_row=13)

chart = BarChart()

chart.add_data(item_a)
chart.set_categories(date)
ws.add_chart(chart, 'E1')

wb.save('input.xlsx')

棒グラフを作成するには、2行目で「BarChart」をインポートします。
その他詳細な解説や、見本のような積み上げ棒グラフの作成方法については、
下記記事をご参考ください。

折れ線グラフ

実行見本
import openpyxl
from openpyxl.chart import LineChart, Reference

wb = openpyxl.load_workbook('input.xlsx')
ws = wb['Sheet1']

date = Reference(ws, min_col=1, min_row=2, max_col=1, max_row=13)
jisseki = Reference(ws, min_col=2, min_row=2, max_col=2, max_row=13)

chart = LineChart()
chart.add_data(jisseki)
chart.set_categories(date)
ws.add_chart(chart, 'E1')

wb.save('input.xlsx')

折れ線グラフを作成する場合は、2行目で「LineChart」をインポートします。
見本のような複数の折れ線グラフの作成方法や詳細な解説は、下記記事をご参考ください。

スポンサードリンク

うまく動作しない時

エラーが出る

No such file or directory: ○○

これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。

詳しい解説は、下記記事をご参考ください。

Permission denied: ○○

操作しようとしているファイルにアクセスできないというエラーです。
ファイルを開いている状態なので編集できない」と言っていることが多いので、開いていれば閉じて再度トライしましょう。

詳しい解説は、下記記事をご参考ください。

Worksheet ○○ does not exist

「指定したシートがありません」というエラーです。
指定のシート名が間違っていないか、「sheet1」など先頭が小文字になっていないか確認しましょう。

詳しい解説は、下記記事をご参考ください。

○○ is not defined

今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。

詳しい解説は、下記記事をご参考ください。

その他のエラー

その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。

スポンサードリンク

最後に

openpyxlでグラフを作成する方法をまとめて紹介いたしました。

必要に応じてご活用ください。

当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。

最後までお読みいただき、ありがとうございました。がんばってください!

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