[英]Python: Reading text file and splitting into different lists
我有一个包含两行文本的文本文件。 每行包含用逗号分隔的学生姓名。
我正在尝试编写一个程序,将读取每一行并将其转换为列表。 我的解决方案似乎制作了两个列表,但由于两个列表都称为“文件列表”,因此我不知道如何区分两者。 例如,我可能需要附加到第二个列表。 我如何区分两者?
还是有可能用不同的名称创建完全独立的列表? 我希望该程序能够理想地处理文本文件中的许多行。
我的代码是:
filelist=[]
with open("students.txt") as students:
for line in students:
filelist.append(line.strip().split(","))
print(filelist)
您将必须创建一个多维数组,如下所示:
text = open("file.txt")
lines = text.split("\n")
entries = []
for line in lines:
entries.append(line.split(","))
如果您的文件是
John,Doe
John,Smith
那么条目将是:
[["John", "Doe"], ["John", "Smith"]]
在您的代码中,文件列表将被视为列表列表,因为您将列表添加到列表中,而不是元素,因此请考虑使用filelist += line.strip().split(",")
将列表连接起来
两行完成
with open("file.txt") as f:
qlist = map(lambda x:x.strip().split(","), f.readlines())
要么
with open("file.txt") as f:
qlist = [i.strip().split(",") for i in f.readlines()]
如果您希望每行都有一个列表,则可以使用字典,其中键是行号,而字典条目的值是该行的名称列表。 像这样
with open('my_file.txt', 'r') as fin:
students = {k:line[:-1].split(',') for k,line in enumerate(fin)}
print students
line [:-1]是为了摆脱每行末尾的回车符
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.