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

python – 从文本文件中读取元组

发布时间:2020-12-20 12:05:11 所属栏目:Python 来源:网络整理
导读:我需要从txt中读取元组.我尝试使用numpy(使用genfromtxt),但它不起作用(或者至少,我不知道如何). 这是我的txt: (0,0) (0,0) (1,0) (2,3)(1,1) (1,1) (3,3)(2,2) (2,1) (4,4)(3,2) (3,1) (5,5) 我想逐一阅读这些列并获取元组列表: 尝试numpy我有这个: impo
我需要从txt中读取元组.我尝试使用numpy(使用genfromtxt),但它不起作用(或者至少,我不知道如何).
这是我的txt:

(0,0) (0,0) (1,0) (2,3)
(1,1) (1,1) (3,3)
(2,2) (2,1) (4,4)
(3,2) (3,1) (5,5)

我想逐一阅读这些列并获取元组列表:
尝试numpy我有这个:

import numpy as np
File = np.genfromtxt('file.txt',delimiter=' ',dtype= tuple)

但它返回一个包含字节类型元素的列表列表.

显然我可以改变数据存储在txt中的方式.我只需要从txt获取元组列表(或列表列表).

解决方法

你也可以在这里尝试正则表达式:

import re
pattern='((d+,d))'
with open('demo.txt','r') as f:
    for line in f:
        data=re.findall(pattern,line)
        data_1=[]
        for item in data:
            data_1.append(tuple(map(lambda x:int(x),item.split(','))))
        if data_1:
            print(data_1)

输出:

[(0,0),(0,(1,(2,3)]
[(1,1),(3,3)]
[(2,2),(4,4)]
[(3,(5,5)]

甚至更好:

import re
pattern='((d+,line)
        data_1=[tuple(map(lambda x:int(x),'))) for item in data]
        if data_1:
            print(data_1)

(编辑:李大同)

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

    推荐文章
      热点阅读