对许多人来说,这是一个类似的问题,但并不完全相同。我有一个文本文件,有大约400,000行文本。每行基本上都是一个列表。例如,它看起来像[ 'a','b',1,2,'c',3,'d and , e string', 45]
我可以使用以下代码读取文本文件的每一行:
with open('myfile.txt') as f:
content = f.readlines()
问题是每一行都被读作一个字符串。我想获得列表中的每个项目。所以我想我会这样做(每一行):
content[line].split(',')
这几乎可行,但我遇到了一个问题。很多时候,在我的文本文件中,我在列表中有一个逗号括起来的字符串(从上面我有' d和e字符串')。我不希望这个字符串分开,但希望它作为一个项目。
如果这样做没有,因为我想从我的文本文件[ 'a','b',1,2,'c',3,'d and , e string', 45]
中获取该行,并且我想要8个单独的元素
'a'
'b'
1
2
'c'
3
'd and , e string'
45
感谢您的帮助!
答案 0 :(得分:4)
DSM对
from ast import literal_eval
# use generator
# instead of allocating
# 400 000 lists at a time
your_lists = (literal_eval(s) for s in open('filename.txt'))