見出し画像

【小ネタ】ChatGPTのAdvancedDataAnalysisでコードスニペットを作成する方法(Excelグラフ編)

ChatGPTの(有料版で使える)AdvancedDataAnalysisモードで以下のような入力を行います。

※この記事は、非エンジニア、初心者向けです

Excelファイルの生成のデモンストレーションを行って欲しい。 ダミーデータとして喫茶店チェーンの、店舗ごとの商品別売上データを作り、それをエクセルファイルととして出力した上で、店舗ごとの売上グラフも作って欲しい。グラフは縦軸が売上、横軸の1軸目が店舗、サブ横軸のサブが商品としてください。

まずは実行結果から見ていただきますがが、以下のようなエクセルファイルが生成されます。(スクショに収まりやすいようにグラフの位置は手作業で移動しました)

この記事の主旨は、アプリケーション作成に利用できる(pythonの)コードを取り出すことなので、実行内容を確認してみましょう。

まず、指示通り売上のサンプルデータを作っています。

実はこの後2回試行に失敗、再試行しているので、その部分は省略してエクセルファイルファイル生成に成功した最後の試行を見てみます。

1.最初に作ったデータエクセルファイルとして書き出して、
from openpyxl import load_workbook # Save the DataFrame to an Excel workbook first excel_path = '/mnt/data/cafe_sales_data.xlsx' df.to_excel(excel_path, engine='openpyxl', sheet_name='Sales_Data')

その上で書き出したエクセルファイルを再度読み込みグラフを作っています。

# Open the existing workbook and select the worksheet wb = load_workbook(filename=excel_path) ws = wb['Sales_Data'] # Create a bar chart chart = BarChart() chart.type = "col" chart.style = 10 chart.title = "Store-wise Sales Data" chart.y_axis.title = 'Sales' chart.x_axis.title = 'Stores' # Set the data range for the chart data = Reference(ws, min_col=2, min_row=1, max_col=6, max_row=6) chart.add_data(data, titles_from_data=True) categories = Reference(ws, min_col=1, min_row=2, max_row=6) chart.set_categories(categories) # Add the chart ws.add_chart(chart, "H5") # Save the workbook with the chart excel_path_with_chart = '/mnt/data/cafe_sales_data_with_chart.xlsx' wb.save(excel_path_with_chart)

基本的なpythonのコードを読み書き出来る必要はありますし、また、お手元にpythonの開発環境が構築出来ている前提ではありますが、自分で作成するアプリケーションに流用可能なpythonコードが取得できます。

このコードのデータ読み込み部分をダミーデータではなくお手元のデータベースから読み込みするように修正すれば、簡単なグラフ付きエクセルファイルを生成するアプリケーションになります。

これなら機密情報が流出する心配もありませんね👍

ご興味が有りましたら、「好き」やフォロー、シェア等をお願いしまっす。


この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?