【问题标题】:How to add cell color to cell range using Python Pandas ExcelWriter?如何使用 Python Pandas ExcelWriter 将单元格颜色添加到单元格范围?
【发布时间】:2018-03-16 19:41:17
【问题描述】:

我正在尝试使用 Python Pandas ExcelWriter 将背景单元格颜色添加到单元格范围。这是我目前所拥有的:

 pivotChartsTab = pd.read_sql(sql4, conn)
 import pandas.io.formats.excel
 pandas.io.formats.excel.header_style = None
 pivotChartsTab.to_excel(writer, 'Pivot Tables', index=False)

#Format sheets
workbook = writer.book
format1 = workbook.add_format({'num_format': '#,##'}) 
format2 = workbook.add_format({'num_format': '#,##0.00'}) 
format3 = workbook.add_format({'num_format': '0%'})
format4 = workbook.add_format()
format4.set_pattern(1)
format4.set_bg_color('green')


#format Pivot Tables            
worksheet = writer.sheets['Pivot Tables']        
for i, col in enumerate(pivotChartsTab.columns):
    if i == 0:
        worksheet.set_column(i, i, 20)
    elif i == 1:
        worksheet.set_column(i, i, 15)
    elif i == 2:
        worksheet.set_column(i, i, 18)
    elif i == 3:
        worksheet.set_column(i, i, 20, format3)
    elif i == 4:
        worksheet.set_column(i, i, 25, format2)
    elif i == 5:
        worksheet.set_column(i, i, 25, format2) 
    elif i == 6:
        worksheet.set_column(i, i, 18, format3)
worksheet.write_row('A1:G1', format4)
writer.save()

所以基本上我正在尝试制作自己的客户标题样式。我希望背景颜色为绿色,行高为 25,但无法使着色工作,因此尚未尝试更改行高。

我觉得我错过了一些简单或基本的东西。感谢您的帮助。

【问题讨论】:

    标签: python pandas cell-formatting


    【解决方案1】:

    这似乎有效,但我不确定如果单元格为空或空白等它会如何反应......

    format4 = workbook.add_format({'bg_color': '#92D050'})
    format5 = workbook.add_format({'text_wrap':True})
    
    worksheet.set_row(0, 28, format5)
    worksheet.conditional_format('A1:G1', {'type':'cell', 'criteria':'>=','value': 0, 'format':format4})
    

    这会在我的标题上进行文本换行,行高为 28 和我想要的颜色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-09
      • 2015-11-16
      • 2019-08-30
      • 1970-01-01
      • 2016-12-06
      • 2017-11-06
      • 1970-01-01
      相关资源
      最近更新 更多