Skip to main content
 首页 » 编程设计

python之删除 % 符号并将结果解析为整数

2025年05月04日13yjmyzz

我正在抓取一个 XML 文件并返回大量百分比,直接提取为百分比,有时为负数,并已附加 % 符号,例如

-38% 
-2% 
4% 
25% 

我正在尝试做这样的过滤器:

if percentage < 20.0 : continue; 

但是我无法执行此过滤器,我假设是 % 符号的结果。

作为引用,我使用:

cell['roi'] 

要获取百分比,使用以下方法遍历每一行:

for row in xmlload1['rows']: 
    cell = row["cell"] 

如何绕过这个 % 符号?有没有简单的方法?

请您参考如下方法:

您无法执行该过滤器,因为您正在尝试将字符串(如 "4%")与 float (20.0) 进行比较。在 Python 3 中,这将引发一个 TypeError;在 Python 2 中,它会“工作”,但所有字符串都将被视为大于数字 20.0,因此它不会有任何好处。

您需要先将字符串转换为 float ,然后才能将其用作 float 。但是您不想转换整个 字符串,只转换"%" 字符之前的部分。 (因为 4% 不是数字,所以只有 4 是数字。)

所以,让我们分两步进行:使用 rstrip删除 "%",然后使用 float将其转换为 float 。

cell = float(row["cell"].rstrip("%"))