我想将 Pandas 数据框写入 Excel 并格式化。为此我正在使用xlsxwriter
。我的问题有两个:
首先,如何将条件格式应用于整列?在里面examples http://xlsxwriter.readthedocs.io/example_conditional_format.html他们使用特定的单元格范围格式(例如worksheet1.conditional_format('B3:K12', ...)
),有没有办法可以引用整个专栏?
其次,如果 B 列与 C 列的差异超过 15%,我想将其标记为红色。正确的公式是什么?
我目前正在尝试下面的代码,它不起作用(我不知道如何引用列)。
writer = pd.ExcelWriter('pacing.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Last year vs. current state')
#worksheet.set_column('B:B', 18, format1)
workbook = writer.book
worksheet = writer.sheets['Last year vs. current state']
format_missed = workbook.add_format({'bg_color': '#ff0000'})
format_ok = workbook.add_format({'bg_color': '#008000'})
worksheet.conditional_format('C:C', {'type': 'formula',
'criteria': '=ABS((B-C)/C) > 15',
'format': format_missed})
writer.save()
另外,我在 Mac 上运行 Excel,不确定它是否有任何区别,但我注意到 Windows 版本使用的位置,
,Mac版本需要;
对于公式。不知道这有何影响xlsxwriter
.
首先,如何将条件格式应用于整列
您可以指定列中从第一行到最后一行的单元格范围,例如C1:C1048576
。这就是它的内部存储方式,它只是显示为C:C
.
这适用于可以在 XlsxWriter 中使用列范围的所有情况。
其次,如果 B 列与 C 列的差异超过 15%,我想将其标记为红色。正确的公式是什么?
您应该在 Excel 中弄清楚这一点,然后将条件格式应用到 XlsxWriter。像这样的事情可能会起作用:
=ABS(B1-C1)/C1 > 0.15
另外,我在Mac上运行Excel,不确定它是否有什么区别,但我注意到Windows版本使用,,Mac版本需要;对于公式。不知道这对 xlsxwriter 有什么影响
See the 使用公式 https://xlsxwriter.readthedocs.io/working_with_formulas.htmlXlsxWriter 文档的部分解释了如何使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)