我想将数据从文本文件传输到数组

时间:2016-07-23 20:09:44

标签: python

我是新来的,也是使用python编程的新手 作为练习,我必须从包含许多行的txt文件中读取数据(lat& lon)并使用QGIS将它们转换为shapefile

阅读后我发现了一种将数据提取到数组中的方法,如步骤1,但我有soem问题..

我使用以下代码

X=[]
Y=[]
f = open('D:/test_data/test.txt','r')
for line in f:
   triplets=f.readline().split()  #error
X=X.append(triplets[0])
Y=Y.append(triplets[1])
f.close()
for i in X:
     print X[i]

有错误:

ValueError: Mixing iteration and read methods would lose data

可能它会丢失剩下的行,但我现在真的不想要它们。

2 个答案:

答案 0 :(得分:3)

for line in f:已遍历文件中的行,随着文件的进行读取。因此,它应该是:

for line in f:
    triplets = line.split()

或者,您可以执行以下操作,但我建议使用上述方法。

with open('D:/test_data/test.txt','r') as f:
    content = f.readlines()
    for line in content:
        triplets = line.split()
        # append()

有关详细信息,请参阅python中的Reading and Writing Files

另外,append()听起来像是这样,所以你不需要分配。

X.append(triplets[0])  # not X=X.append(triplets[0)

答案 1 :(得分:0)

line已经就行了。

获取三胞胎
triplets = line.split()