以百分号形式打印数字

5
我尝试使用一个% 和双倍的%%,都似乎将我的数字乘以100倍。代码如下:

percent_format = workbook.add_format({'num_format': '0.00%'})

结果是:9403.00%

percent_format = workbook.add_format({'num_format': '0.00%%'})

结果是:9403.00%%

percent_format = workbook.add_format({'num_format': '0.00'})

结果是:94.03,这正是我想要的,只需要在末尾添加一个%即可。
有什么想法吗?

如果值为94.03,那么将其格式化为百分数将会(正确地)产生9403.00%。这是因为1 == 100% - David Zemens
@pnuts已经指出,您需要一种自定义字符串格式,而不是数字格式,只需将“%” 附加到值的显示方式即可。这不会以任何方式更改底层数据,它只是一种掩码,可以改变单元格外观,视觉上。 - David Zemens
1
谢谢!pnuts,0.00“%”的作用,你救了我的一天! - Kaiyu Li
1
哈哈,我被要求放一个标签,我猜我点错了。抱歉。让我看看能不能改一下。 - Kaiyu Li
1个回答

9

格式化类详细介绍了使用XlsxWriter进行格式化的细节。其中有一部分关于format.set_num_format(),但并未特别提到百分号的格式化。可以通过以下方式实现:

percent_format = workbook.add_format({'num_format': '0.00"%"'})  

这仅仅是将%(例如将9转为9%)附加到内容中,不会将9转换为900%

新文档链接:https://xlsxwriter.readthedocs.io/format.html?highlight=format - tonysepia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接