使用python以两位小数格式化excel数字

Posted

技术标签:

【中文标题】使用python以两位小数格式化excel数字【英文标题】:Format excel numbers at two decimals with python 【发布时间】:2021-01-15 09:57:44 【问题描述】:

我想在 Excel 导出中将数字格式化为小数点后 2 位,但仅用于查看,并将原始值保留在后面,如图所示,数字显示为小数点后两位,但是当您单击要显示的单元格时整体价值。我使用了 XlsxWriter 和 add_format,它以 2 位小数格式化,但不保留原始值。有人可以建议如何完成以及是否可能吗?

excel中的图片示例:

【问题讨论】:

【参考方案1】:

我用过 XlsxWriter 和 add_format,它的格式是 2 位小数,但不保留原始值。

这不可能。 XlsxWriter 不会以任何方式截断它处理的数字,除了使用%.16G 以与 Excel 相同的方式格式化它们。

例如:

import xlsxwriter

workbook = xlsxwriter.Workbook('test.xlsx')
worksheet = workbook.add_worksheet()

my_format = workbook.add_format('num_format': '0.00')

worksheet.write(0, 0, 29.159573953, my_format)

workbook.close()

输出

如您所见,完整的数字显示在公式栏中。

【讨论】:

我正在尝试编写数据帧,我使用了以下代码:format1 = workbook.add_format('num_format': '#,##0.00') worksheet.set_column('U:AC',18, format1) 也:df.to_excel(writer, sheet_name="ABC", startrow=4, startcol= 3, float_format="%.2f") 结果与我发布的第一张图片一样。 您需要将该代码放入问题中。但是,看起来熊猫 df.to_excel() 中的 float_format="%.2f" 正在截断浮点数。把它排除在外,你应该得到你想要的结果。

以上是关于使用python以两位小数格式化excel数字的主要内容,如果未能解决你的问题,请参考以下文章

delphi 保留两位小数

excel保留整数17位,

EXCEL怎么让小数后两位显示0

EXCEL怎么让小数后两位显示0

如何让excel饼图的百分比带两位小数

Pandas-数字前面补0