我在一个循环中处理列
'US-Eco.Metric8_MomChg'.'US-Eco.Metric9_MomChg','US-Eco.Metric10_MomChg'
我需要从字符串中提取整数并将其保存在数组中。我使用了下面的代码,但是得到了一个错误。请帮帮我。
for col in self.columns[]:
country, market = col.split('-')
num = []
num.append([int (s) for market in str.split() if market.isdigit ()])
错误消息:
TypeError: descriptor 'split' of 'str' object needs an argument
预期输出:
[8,9,10]
发布于 2018-07-28 03:19:07
你想要的是像num = [int(s) for s in market if s.isdigit()]
这样的东西。但这将分别提取数字的每个数字。
相反,使用re.findall
提取字符串格式的所有数字,然后使用int
方法将它们转换为数字
>>> import re
>>> s = "'US-Eco.Metric8_MomChg'.'US-Eco.Metric9_MomChg','US-Eco.Metric10_MomChg'"
>>> list(map(int, re.findall(r'\d+', s)))
[8, 9, 10]
https://stackoverflow.com/questions/51564226
复制相似问题