Python Xlsxwriter,只格式化一些单元格,而不是整行或整列?

Python Xlsxwriter,只格式化一些单元格,而不是整行或整列?,python,formatting,xlsxwriter,Python,Formatting,Xlsxwriter,我有一个数据框,我正在使用xlsxwriter引擎发送到Excel,然后在关闭工作表之前将格式应用于工作表。如何仅为包含数据的列设置bg颜色 例如,我可以将黄色背景色添加到第二列(如下),但它会延伸到包含数据的单元格之外。我使用set_column()执行此操作,如下所示: worksheet.set_column(1, 1, 18, hilite_format) 我没有看到只为某些行设置列格式的选项,也没有看到使用set_row()只设置某些列格式的选项。我已将数据写入工作表,因此无法使用s

我有一个数据框,我正在使用xlsxwriter引擎发送到Excel,然后在关闭工作表之前将格式应用于工作表。如何仅为包含数据的列设置bg颜色

例如,我可以将黄色背景色添加到第二列(如下),但它会延伸到包含数据的单元格之外。我使用set_column()执行此操作,如下所示:

worksheet.set_column(1, 1, 18, hilite_format)
我没有看到只为某些行设置列格式的选项,也没有看到使用set_row()只设置某些列格式的选项。我已将数据写入工作表,因此无法使用sheet.write(),否则它将覆盖其中已有的数据。至少我看不到任何使用.write()只应用格式而不向单元格中写入数据或不写入数据的方法

有没有一种方法可以在一系列单元格上“绘制”某些格式,而不影响这些单元格中的值?我宁愿不必使用条件格式,也不必为这些单元格重新写入数据,只要能够正确设置格式即可

谢谢!


尝试使用条件格式(),突出显示非空单元格:

worksheet.conditional_format('B:B', {'type': 'no_blanks',
                                     'format': hilite_format})
请尝试以下代码:

  • 你们把你们的逻辑放在这里,并在你们想要的任何时候在牢房里使用

    
    合并\格式=工作簿。添加\格式({
    “边界”:1,
    “对齐”:“居中”,
    'valign':'vcenter'})

    工作表.合并范围('A1:R1','AGENCIES',合并格式)


在编写时,无法使用Xlsxwriter更改已“写入”单元格的格式。这是一个功能请求,但不是优先权。我认为对您来说,唯一可行的方法是使用条件格式,正如@Luanaufal已经为您提供的代码一样。 merge_format = workbook.add_format({ 'border': 1, 'align': 'center', 'valign': 'vcenter'})

worksheet.merge_range('A1:R1', 'AGENCIES', merge_format)