python:从字符串的python列表中提取浮点数(AUD 31.99)。我使用openpyxl从Excel文件中读取金额列表。我将其保存在一个列表中,但该列表是字符串形式,如下所示:
['31.40 AUD', ' 32.99 AUD', '37.24 AUD']
我需要从字符串项列表中获取浮点数,这样我以后就可以将其保存在一个新列表中,以获取它们的总数。
所需输出:
[31.40, 32.99, 37.24]
我已经试过这些:
newList = re.findall("\d+\.\d+", tot[0])
print(newList)
输出量:
[31.40]
但是如何将它用于所有item元素?
我是新的python,这只是我做的一些工作,想看看总使用python而不是使用excel的查找和替换选项。谢谢
5条答案
按热度按时间ccrfmcuu1#
您可以使用
map
函数:输出量:
yeotifhr2#
如果要使用regex获取值列表,请尝试
但是在这种情况下使用
split
似乎更容易解决如果第二个子字符串始终相同(
"AUD"
),您也可以尝试smdnsysy3#
有没有可能用字符串分割来代替呢?我想这样会简单得多
ecfsfe2w4#
你应该考虑处理错误。下面是一个例子:
退货:
7xzttuei5#
考虑到名单如下
有多种方法来提取浮点数。下面将给出五种可能的选择。
选项1
将正则表达式与Python的
re
结合使用,并使用列表解析,如下所示备选案文2
使用
str.strip
和str.split
,如下所示方案3
使用
str.split
,如下所示方案4
一种方法是使用
str.strip
删除空格和货币(AUD
),如下所示假设有一个包含各种货币的列表(比如
AUD
、USD
和EUR
),由于列表中只有AUD
,因此可以如下使用str.strip
选项5
适用于此用例的另一种方法如下
然而,请注意,根据列表中字符串的浮点数,可能需要调整数字或采用不同的方法。