使用 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()
在使用 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()