使用 Python 中的 StyleFrame 库在 Excel 中显示尾随零时出现问题

Issue while displaying trailing zeroes in Excel with StyleFrame library in Python

在使用 StyleFrame 库写入 excel 文件时,如果有尾随零,我无法保留 3 个十进制数字。

例如,考虑以下数据框:

接下来,我将此数据框写入 StyleFrame 对象以进行数据格式化,最后,将 StyleFrame 对象写入 excel 文件:

sf = StyleFrame(df)
sf = sf.apply_headers_style(...)
sf = sf.apply_column_style(...)
sf.to_excel(writer, float_format="%.3f")

这是我的输出:

我想做的是,将 0.08 显示为 0.080,因为我的浮点格式在 to_excel() 调用中建议使用“%.3f”。

有什么建议吗?

好吧,由于 df.to_excel(writer, float_format='%.3f') 没有提供预期的输出,sf.to_excel(writer, float_format="%.3f") 也不会(StyleFrame.to_excel 将它无法识别的 kwargs 传递给 pandas.DataFrame.to_excel)。

您可以通过在设置列样式时使用自定义 number_format 来使其正常工作。将 number_format='0.000''0.000' 是 Excel 用于表示小数点后 3 位的单元格格式)传递给用于设置 MGEAFE %port 列样式的 Styler 对象。

from StyleFrame import StyleFrame, Styler


df = pd.DataFrame({'a': [0.021, 0.029, 0.080]})
StyleFrame(df, Styler(number_format='0.000')).to_excel('test.xlsx').save()