繁体   English   中英

Python:读取文本文件并将其拆分为不同的列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM