在python中将字符串数量转换为整数数量[关闭]

问题描述 投票:-3回答:2

所以我有以下字符串数组:

amount = ['60 million', '1 million', '', '1.15 million', '1 million', 
'','2.48 million', '', '', '75 million', '1.25 million', '3 million',    
'67,000', '4 million', '', '63 million', '5.9 million', '170,000', '5
million', '22 million', '15.75 million', '36.5 million', '', '', '', '19.9 
million', '1.4 billion']

我想将它转换为整数,所以我可以将它用于数据库......我无法弄清楚最新方法是什么...例如,我有数百万,数十亿和数千的混合数量。 ..所以目标是获得以下整数数组:

amount = [60000000, 1000000, 1150000....etc] 
python arrays regex string
2个回答
0
投票
ints = []
for x in amount:
    if 'million' in x:
        ints.append(int(float(x.split()[0]) * 10**6))
    elif ',' in x:
        ints.append(int(x.replace(',','')))
    else:
        ints.append(0)

输出:

[60000000, 1000000, 0, 1150000, 1000000, 0, 2480000, 0, 0, 75000000, 1250000, 3000000, 67000, 4000000, 0, 63000000, 5900000, 170000, 5000000, 22000000, 15750000, 36500000, 0, 0, 0, 19900000, 0]

Code demo


0
投票

您可以定义单位字典

unit = { "million" = 1000000,
         "thousands" = 1000,
        ...
       } 

然后,您可以使用空格分割金额列表,并根据您在拆分中的单位应用单位字典中的乘法。

© www.soinside.com 2019 - 2024. All rights reserved.