1 回答

TA貢獻1775條經(jīng)驗 獲得超8個贊
根據(jù)文檔,“Pandas 使用默認單元格格式編寫數(shù)據(jù)幀標題。由于它是一種單元格格式,因此無法使用 set_row() 覆蓋它。如果您希望使用自己的標題格式,那么最好的方法是轉關閉 Pandas 的自動標頭并編寫您自己的標頭?!?。解決方案是在調(diào)用中包含header=False并避免復制標題并將第一行留空,然后遍歷標題以粘貼列值和您喜歡的格式。startrow=1to_excel
使用您的代碼的完整示例:
import pandas as pd
import numpy as np
np.random.seed(24)
df = pd.DataFrame({'A': np.linspace(1, 10, 10)})
df = pd.concat([df, pd.DataFrame(np.random.randn(10, 4), columns=list('BCDE'))],
axis=1)
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
workbook = writer.book
worksheet = workbook.add_worksheet('Summary')
writer.sheets['Summary'] = worksheet
# format = workbook.add_format({'bg_color': '#21AD25'})
# worksheet.set_row(0, cell_format= format) # set the color of the first row to green
df.to_excel(writer, sheet_name='Summary', index=False, startrow=1, header=False)
# Add a header format.
header_format = workbook.add_format({
'bg_color': '#21AD25', # your setting
'bold': True, # additional stuff...
'text_wrap': True,
'valign': 'top',
'align': 'center',
'border': 1})
# Write the column headers with the defined format.
for col_num, value in enumerate(df.columns.values):
worksheet.write(0, col_num + 1, value, header_format)
writer.save()
添加回答
舉報