在python中从字符串中提取数字时出错

2024-05-12 14:31:40 发布

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

我正在循环处理列

    '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]

Tags: 字符串infor错误colmarketnumsplit
1条回答
网友
1楼 · 发布于 2024-05-12 14:31:40

你想要的是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]

相关问题 更多 >