逐行读取文件并创建列表

时间:2017-11-23 14:44:59

标签: python

我有一个包含

形式的行的文件
2.484 5.234
6.123 1.461
1.400 9.381

我想将这些内容读入包含每行第一个值的python列表 x ,以及包含每行第二个值的 y

我怎样才能做到这一点?这是我的尝试:

x = []
y = []
with open(filename) as file_:
    for line in file_:
        a, b = line
        x.append(a)
        y.append(b)

2 个答案:

答案 0 :(得分:2)

a, b = line

无法正常工作,因为您尝试将字符串解压缩为2个元素(除非字符串本身长度为2个元素,但事实并非如此)

你想转换成浮动&像这样拆开分割线:

a, b = map(float,line.split())

在这种情况下,split()没有参数会处理多个空格,换行符,标签...就像awk一样,这样做很容易。

答案 1 :(得分:0)

你可以这样做

x = []
y = []
with open("file.txt", "r") as ins:
    for line in ins:
        elt = line.split()
        x.append(elt[0])
        y.append(elt[1])

print x
print y