Python 如何将看起来像列表的文件制作成列表?

Python 如何将看起来像列表的文件制作成列表?,python,list,file,format,Python,List,File,Format,在我的代码中有一个名为euler22.txt的列表: with open('euler22.txt') as f: name_list = f.read().splitlines() euler22.text是一个长文件,但我将在其中发布前5个值: "MARY","PATRICIA","LINDA","BARBARA","ELIZABETH" 正如您所看到的,它的结构是一个列表,但是当

在我的代码中有一个名为euler22.txt的列表:

with open('euler22.txt') as f:
    name_list = f.read().splitlines()
euler22.text
是一个长文件,但我将在其中发布前5个值:

"MARY","PATRICIA","LINDA","BARBARA","ELIZABETH"

正如您所看到的,它的结构是一个列表,但是当我按照我的方式运行代码时,它表示
name\u list
的长度只有1-而我希望它是500(列表的长度)。如何使我的代码以列表的形式打开此文件,该列表的长度与文件中的结构长度相同?

您可以使用
csv
模块将数据加载到列表中:

import csv

data = []
with open('<your file.txt>', 'r') as f_in:
    reader = csv.reader(f_in, delimiter=',', quotechar='"')
    for line in reader:
        data.extend(line)
print(data)

或:

如果数据仅在一行上,您可以尝试使用
ast.literal\u eval

from ast import literal_eval
data = literal_eval('[' + open('<your file.txt>', 'r').read() + ']')
从ast导入文字\u评估
data=literal_eval('['+open(''r').read()+']'))

该文件看起来像一个CSV,有许多列,只有一行。您可以使用csv模块来解析它

>>> import csv
>>> with open('euler22.txt') as fp:
...     names = next(csv.reader(fp))
... 
>>> names
['MARY', 'PATRICIA', 'LINDA', 'BARBARA', 'ELIZABETH']
>>> len(names)
5

您可以使用
split
方法:

以open('euler22.txt')作为f的
:
name_list=f.read().split(“,”)

Split on comma?文件是否有一行长?这是否回答了您的问题?
>>> import csv
>>> with open('euler22.txt') as fp:
...     names = next(csv.reader(fp))
... 
>>> names
['MARY', 'PATRICIA', 'LINDA', 'BARBARA', 'ELIZABETH']
>>> len(names)
5