我的列表如下所示:
print(dataset[0:2])
其中:
[{'date': '13/09/2020', 'day': '13', 'month': '9', 'year': '2020', 'cases': '35', 'deaths': '0', 'countriesAndTerritories': 'Afghanistan', 'countryTerritoryId': 'AF', 'countryTerritoryCode': 'AFG', 'population2019': '38041757', 'continent': 'Asia', 'cumulativeper1000002Weeks': '1.3090878'}, {'date': '12/9/20', 'day': '12', 'month': '9', 'year': '2020', 'cases': '34', 'deaths': '0', 'countriesAndTerritories': 'Afghanistan', 'countryTerritoryId': 'AF', 'countryTerritoryCode': 'AFG', 'population2019': '38041757', 'continent': 'Asia', 'cumulativeper1000002Weeks': '1.22496971'}]
但是,我想将“cases”和“population2019”中的值改为整数,而不是字符串
我用这段代码将字符串改为整数
for i in dataset: #Changes the value of multiple keys to integers instead of string
for key in i:
i['cases'] = int(i['cases'])
i['population2019'] = int(i['population2019'])
它确实将“cases”的值改为整数而不是字符串,但它不适用于“population2019”,因为我认为它是一个大整数('38041757')
错误是:
ValueError: invalid literal for int() with base 10: ''
我相信您有这个错误,因为当您试图转换它时
population2019
是一个空字符串(“”)试试这个:
我希望它对你有用
您的代码非常好。正如GProst所说,错误即将出现,因为如果i['cases']或i['population2019']为空。只需在转换之前添加一个条件
相关问题 更多 >
编程相关推荐