首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在python中从字符串中提取数字时出错

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

Stack Overflow用户
提问于 2018-07-28 03:14:33
回答 1查看 362关注 0票数 0

我在一个循环中处理列

代码语言:javascript
复制
    'US-Eco.Metric8_MomChg'.'US-Eco.Metric9_MomChg','US-Eco.Metric10_MomChg'

我需要从字符串中提取整数并将其保存在数组中。我使用了下面的代码,但是得到了一个错误。请帮帮我。

代码语言:javascript
复制
  for col in self.columns[]:
   country, market = col.split('-')
   num = []
   num.append([int (s) for market in str.split() if market.isdigit ()])

错误消息:

代码语言:javascript
复制
   TypeError: descriptor 'split' of 'str' object needs an argument

预期输出:

代码语言:javascript
复制
    [8,9,10]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-28 03:19:07

你想要的是像num = [int(s) for s in market if s.isdigit()]这样的东西。但这将分别提取数字的每个数字。

相反,使用re.findall提取字符串格式的所有数字,然后使用int方法将它们转换为数字

代码语言:javascript
复制
>>> 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]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51564226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档