如何在Excel中使用xlsx包在Python中格式化特定的单元格

我有一个pandasdf,我正在格式化使用xlsx包目前我可以select使用xlsx格式化整行或列,但不是特定的单元格也想在DF之间插入几行。

图片附加了我希望看到的Excel文件。

下面的代码给了我在图像的第一部分的文件。 我需要做一些更多的格式,比如插入新的行,使D13和E13用斜体表示。 在这里输入图像说明

writer = pd.ExcelWriter('Sample Report Test.xlsx' , engine='xlsxwriter') df.to_excel(writer , index= False , sheet_name='Sample Report') workbook = writer.book worksheet = writer.sheets['Sample Report'] money_fmt = workbook.add_format({'num_format':'$#,##0' , 'font_name':'Batang' }) font_fmt = workbook.add_format({'font_name':'Batang' , 'bold':True }) tot_fmt = workbook.add_format({'num_format':'$#,##0' , 'font_name':'Batang' , 'bold':True }) worksheet.set_column('A:B' , 25 , font_fmt) worksheet.set_column('C:P' , 15 , money_fmt) worksheet.set_row(4, None , tot_fmt) worksheet.set_row(7 , None , tot_fmt) writer.save() 

您可以使用偏移量将多个数据框插入到XlsxWriter文件中。 从文档中查看这个示例 。

写入后格式化单元格是不可能的(除了列/行格式,请参阅本例 )。

如果您需要非常细致的格式化,最好直接使用XlsxWriter和数据框中的数据。

有些人在XlsxWriter中使用条件格式来获得他们需要的效果,就像这样回答 。 但是,这不适用于单细胞。

尝试这个:

 money_italic_fmt = workbook.add_format({'num_format':'$#,##0', 'font_name':'Batang', 'italic':True}) worksheet.write(12, # <-- The cell row (zero indexed). 3, # <-- The cell column (zero indexed). 13, # <-- Value to write money_italic_fmt # <-- Format )