2

只是一个简单的问题,如何在不修改数字的情况下为数字添加百分号。我用 myStyleFont.num_format_str = '0.00%' 尝试了格式百分比,但它乘以 100,但我只需要附加百分比。

提前泰。

问候。

4

4 回答 4

7

只是为了向任何人澄清,这是一个在 xlwt 中将数字格式化为百分比的示例:

from xlwt import easyxf, Workbook
wb = Workbook()
ws = wb.add_sheet('Formatting Sheet')
style_percent = easyxf(num_format_str='0.00%')
ws.write(0, 5, 0.12, style_percent)

这在 Excel 单元格中显示为“12.00%”。

于 2012-05-30T09:30:04.223 回答
5

请注意:“修改”和“乘以 100”会影响显示的结果,它们既不影响存储在文件中的值,也不影响公式计算中使用的值。

使运算符被视为文字的技术称为“转义”。

Excel 数字格式字符串中的转义字符是反斜杠。

做你想做的事,你的格式应该是r"0.00\%""0.00\\%"

以上是 Excel 的属性,不限于 Pythonxlwt等。您可以使用其中一个 UI(Excel、OpenOffice Calc、Gnumeric)进行测试。

请注意,除非您有一组有限的用户会阅读并理解您将编写的文档 [不太可能 * 3],否则您不应该这样做;这将是相当混乱 - 普通 Excel 用户看到5.00%假设基础数字是0.05. 要查看此内容,请在 Excel 等中将这些输入 A1、A2、A3:5%然后...您将.05在A3 中看到。=A1=A2TRUE

pyExcelerator是废弃软件;为什么要提???

关于myStyleFont.num_format_str = '0.00%'(1)“font”和“num_format_str”是风格又名XF的完全独立的组件;您的变量名“myStyleFont”很困惑/令人困惑。(2) 通过将属性插入对象来设置 XF 是旧帽子xlwt;改为使用easyxf

于 2010-06-06T22:33:37.800 回答
1

数字格式需要百分比,因此00.0%乘以 100 来显示它是正确的行为。要获得所需的结果,您可以将数据作为字符串以您选择的任何格式放入单元格中,也可以在将值存储在单元格中之前除以 100.0。

于 2010-06-06T19:58:00.107 回答
0

做这个

在应用格式样式“0.00%”之前将该值除以 100

style = XFStyle()
style.num_format_str = '0.00%'

new_val = '502.22'
sheet = wb.add_sheet('Sheet1')
sheet.write(num, 1, new_val/100, style)

wb.save('sample.xls')

我希望这有助于你的目的。

于 2020-08-23T11:01:14.553 回答