Python读取文件到列表

2024-06-06 17:54:59 发布

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

我想让我的程序从一个.txt文件中读取,该文件的数据行排列如下: NUM NUM NAME NAME NAME。我如何将它的行读入一个列表,使每一行都成为列表的一个元素,并且每个元素的前两个值是int,另外三个值是字符串?在

所以文件的第一行:1 23 Joe Main Sto应该变成lst[0] = [1, 23, "Joe", "Main", "Sto"]。在

我已经有了这个,但它并不完美,我相信肯定有更好的方法:

read = open("info.txt", "r")
line = read.readlines()
text = []
for item in line:
    fullline = item.split(" ")
    text.append(fullline)

Tags: 文件textname程序txt元素列表read
2条回答

使用不带参数的^{}自动折叠并删除空白,然后将int()应用于前两个元素:

with open("info.txt", "r") as read:
    lines = []
    for item in read:
        row = item.split()
        row[:2] = map(int, row[:2])
        lines.append(row)

注意这里我们直接在file对象上循环,不需要先将所有行读入内存。在

with open(file) as f:
    text = [map(int, l.split()[:2]) + l.split()[2:] for l in f]

相关问题 更多 >