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

2024-10-04 11:31:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在抓取一个XML文件并返回一个百分比,直接作为一个百分比提取出来,有时是负数,并附加了%符号

-38%
-2%
4%
25%

我试着做一个这样的过滤器:

^{pr2}$

但是,我不能执行这个过滤器,我假设是由于%符号。在

作为参考,我使用:

cell['roi']

要获取百分比,请使用以下命令遍历每一行:

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

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


Tags: 文件in命令过滤器for符号cellxml
2条回答

您无法执行该筛选器,因为您正在尝试将字符串(如"4%")与浮点(20.0)进行比较。在Python3中,这将引发一个TypeError;在Python2中,它将“工作”,但所有字符串都将被视为大于数字20.0,因此它没有任何好处。在

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

所以,让我们分两步来完成:使用^{}删除{},然后使用{a2}将其转换为浮点。在

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

您可以向strip传递一个字符串,该字符串将删除在传递的字符串中传递的字符,下面将删除%,换行符和空格:

cell = int(row["cell"].strip("%\n "))

相关问题 更多 >