加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python-有没有办法从文本文件中带括号的数字中提取值?

发布时间:2020-12-17 17:40:23 所属栏目:Python 来源:网络整理
导读:我有一个非常基本的问题,但我在互联网上找不到任何“美丽”的解决方案.我想要的只是从有字符串和括号的行中提取数字. 例如,我有一个输出文本文件,如下所示: test: [1,50,200] 我想提取值1、50和200,以使这些数字成为一个numpy数组. 该问题已通过拆分和剥离

我有一个非常基本的问题,但我在互联网上找不到任何“美丽”的解决方案.我想要的只是从有字符串和括号的行中提取数字.
例如,我有一个输出文本文件,如下所示:

test: [1,50,200] 

我想提取值1、50和200,以使这些数字成为一个numpy数组.

该问题已通过拆分和剥离解决,但我认为此解决方案不是很好.

最佳答案
您可以使用非常幼稚的正则表达式:

import numpy as np
import re

nums = map(int,re.findall(r'd+','test: [1,200]'))
print(np.array([n for n in nums]))
# [  1  50 200]

另一种选择是使用正则表达式提取整个列表,然后使用literal_eval:

import numpy as np
import re
from ast import literal_eval

li = re.search(r'([.*])',200]').group()
print(np.array(literal_eval(li)))
# [  1  50 200]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读