私はpandasデータフレームから得たExcelシートを持っています。次に、Xlsxwriterを使って数式、新しい列と書式を追加します。問題は、私はxlsxwriterを使って書いたものだけで、データフレームから来たものはフォーマットできないようです。だから私が得るものは、このようなものですhalf formatted tableXlsxwriter - xlsxwriterを使用して問題をフォーマットするpandasデータフレームセル
画像からわかるように、データフレームの2つの列はそのままです。彼らは私の優先されている何らかの種類のデフォルトのフォーマットを持っている必要があります。
ワークシートをデータフレームに変換する方法がわからないので、以下のコードは明らかに完全に間違っていますが、私が探しているもののアイデアを与えるだけです。
export = "files/sharepointExtract.xlsx"
df = pd.read_excel(export)# df = dataframe
writer = pd.ExcelWriter('files/new_report-%s.xlsx' % (date.today()), engine = 'xlsxwriter')
workbook = writer.book
# Code to make the header red, this works fine because
# it's written in xlsxwriter using write.row()
colour_format = workbook.add_format()
colour_format.set_bg_color('#640000')
colour_format.set_font_color('white')
worksheet.set_row(0, 15, colour_format)
table_body_format = workbook.add_format()
table_body_format.set_bg_color('blue')
for row in worksheet.rows:
row.set_row(0,15, table_body_format)
このコードでは、属性エラーが発生しますが、forループがなくても、画像に表示される内容がわかります。
データの書いた部分にコードの部分を含めて、スタイリングとの関連を確認できますか? – ASGM
"彼らは私に優先されている何らかの種類のデフォルト書式を持っていなければなりません。"それは正しいです。 Pandasには、XlsxWriterインターフェイスを通じて適用される行/列の書式設定をオーバーライドする既定の列/ヘッダーの書式設定があります。私の知る限り、 'datetime_format'と' date_format'を除いて、その書式を変更するための公開APIはありません。 – jmcnamara
@ASGMデータを書き込む場所を含めるようにコードを更新しました – King