Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我想将数据从文本文件传输到数组_Python - Fatal编程技术网

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

Python 我想将数据从文本文件传输到数组,python,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(triplet

我是新来的,也不熟悉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

可能这是对丢失其余行的警告,但我现在真的不想要它们。

已经是行了。把三胞胎交给我

triplets = line.split()

已经是行。把三胞胎交给我

triplets = line.split()

对于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中的

另外,
append()
执行它听起来像什么,所以您不需要赋值

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

对于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中的

另外,
append()
执行它听起来像什么,所以您不需要赋值

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

我做了更改,得到了一个新的错误类型错误:“str”对象不可调用我做了更改,得到了一个新的错误类型错误:“str”对象不可调用这似乎有效。现在,在我尝试打印我从中读取的内容时,我得到了一个错误:TypeError:列表索引必须是整数,而不是最后一行的str,我尝试打印X[i]我知道这些是字符串,必须在float时转换,但使用X.append(float(triplets[0])给我错误:ValueError float()的无效文本: 49,24@NasosGkimi
对于X中的i:
将直接迭代
X
的元素。也就是说,
i
是一个
X
字符串,而不是索引。因此,如果您想使用索引进行迭代,您可以只
打印(i)
@NasosGkimi-我真的看不出这里的要点-您可以对范围内的i使用
(len(X))
,或者对枚举(X)中的i,elem使用
,其中
i
是索引,而
elem
是对应的字符串元素。@Ramon51。谢谢你的回答。现在我的问题是答案的数量。。。在我的测试文件中,我有10行。。。但程序只读取1。。知道为什么会这样吗?@NasosGkimi是的,我以前注意到过。您的
append
在循环之外,因此它只会在循环完成后执行,并且只在最后一个元素上执行。在循环中移动它应该可以做到这一点。这似乎有效。现在,在我尝试打印我从中读取的内容时,我得到了一个错误:TypeError:列表索引必须是整数,而不是最后一行的str,我尝试打印X[i]我知道这些是字符串,必须在float时转换,但使用X.append(float(triplets[0])给我错误:ValueError float()的无效文本: 49,24@NasosGkimi
对于X中的i:
将直接迭代
X
的元素。也就是说,
i
是一个
X
字符串,而不是索引。因此,如果您想使用索引进行迭代,您可以只
打印(i)
@NasosGkimi-我真的看不出这里的要点-您可以对范围内的i使用
(len(X))
,或者对枚举(X)
中的i,elem使用
,其中
i
是索引,而
elem
是对应的字符串元素。@Ramon51。谢谢你的回答。现在我的问题是答案的数量。。。在我的测试文件中,我有10行。。。但程序只读取1。。知道为什么会这样吗?@NasosGkimi是的,我以前注意到过。您的
append
在循环之外,因此它只会在循环完成后执行,并且只在最后一个元素上执行。在循环中移动它应该可以做到这一点。