我是新来的,也是使用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
可能它会丢失剩下的行,但我现在真的不想要它们。
答案 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()