【python】DataFrameを画像出力してみた

blog

参考にしたサイト

参考:https://qiita.com/senrust/items/18e50842c9b50e38c8dd
装飾の参照:https://ai-research-collection.com/plotly-go-table/

とりあえずコード

#!pip install plotly
import  pandas  as  pd
import  plotly.graph_objects  as  go
import  numpy  as  np

def  df_img(df,title):
	fig = go.Figure(data=[go.Table(
	header=dict(values=df.columns, align='center',font_size=13,fill_color='lightskyblue'),
	cells=dict(values=df.values.T,align='center',font_size=10,
	fill_color = [['ghostwhite','white']*len(df)])
	)])
	fig.write_image(title)#,height=600, width=800)
	#見たいときはこれ
	#fig.show()

こんな感じで使用します。
dfはデータフレーム、"sample_table.png"はパスを含めるファイル名を入力。

df_img(df,"sample_table.png")

これで今まで適当にエクセルとスクショで投稿していた結果を自動で画像出力できます。

本当は下記サイトのようなdataframeをcssで装飾したかったのですが、stylerオブジェクトを直接画像化する手法が見つからなかったのでこちらになりました。
html出力まではできたので、dataframe→HTML化→画像化を試みましたが、HTML化→画像化が何故かできなくてこちらのやり方で妥協しました。
cssで装飾できれば、コピペでいい感じの表にできるのですが。。。デザインセンスがないとこういうのも作るのだるいです。
参考:https://pystyle.info/pandas-table-styling-cheatsheet/