Python:将txt文件加载到不同类型的2d列表中

2024-03-29 02:40:12 发布

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

我在文本文件中保存了一个2d列表,如下所示(显示前2个条目):

('9b7dad', "text", 'http://imgur.com/gallery/SPdGm27', '1', 'A', 5)
('2b6ebj', 'text2', 'https://i.redd.it/lzft358csdi21.jpg', '1', 'B', 6)

如何将其加载到列表中?(例如list[0][0] = '9b7dad'list[1][1] = 'text2'等)


Tags: texthttpscomhttp列表条目itgallery
3条回答

你可以试试这个:

f = open(<your file path>)
result = [
    [g.replace("'", "")
     for g in l.strip('()\n').replace(' ', '').replace('"', '').split(',')]
    for l in f.readlines()]

f.close()
#!/usr/bin/env python

import sys

myList = []
for line in sys.stdin:
    elems = line.strip('()\n').replace(' ', '').split(',')
    elems = [x.strip('\'\"') for x in elems]
    myList.append(elems)

print(myList[0][0])
print(myList[1][1])

使用:

^{pr2}$

根据需要,使用int()float()或{}将elems中的字段强制为特定类型。使用try..except块捕获格式错误的输入。在

给出一个文本文件,其中每一行的格式如您所示:

('9b7dad', "text", 'http://imgur.com/gallery/SPdGm27', '1', 'A', 5)    
('2b6ebj', 'text2', 'https://i.redd.it/lzft358csdi21.jpg', '1', 'B', 6)

您可以使用Pandas,它提供了一种更直接的方法来处理/操作不同的数据类型。在

导入熊猫并在文件中读取,这里称为'堆栈.txt':

^{pr2}$

仅返回列表列表:

alist = data.values.tolist()

打印检查:

print(alist)

[['9b7dad', 'text', 'http://imgur.com/gallery/SPdGm27', '1', 'A', 5], 
 ['2b6ebj', 'text2', 'https://i.redd.it/lzft358csdi21.jpg', '1', 'B', 6]]

如果需要处理列:

for i in range(len(data.columns)):
    if i == 0:
        data[i] = data[i].map(lambda x: str(x)[1:])
        data[i] = data[i].map(lambda x: str(x)[1:-1])
    if i == 5:
        data[i] = data[i].map(lambda x: str(x)[:-1])
        data[i] = data[i].astype(int)
    if 0 < i < 5:
        data[i] = data[i].map(lambda x: str(x)[2:-1])

相关问题 更多 >