将CSV文件读入numpy数组,不返回任何内容

时间:2019-04-01 14:48:29

标签: python numpy

我正在尝试将CS​​V数据集读取到二维numpy数组中,然后返回该数组。我继续收到不返回任何消息,并且不确定我对这个问题的处理方法-我是numpy的新手。

要清楚,数据集包含两列和大约100行数据。我想创建一个数组,其中的第一列数据为x坐标,第二列数据为y坐标。

import numpy as np 

data = open("mydata.csv")
read = data.read()

def generatingArray(read):
    for data in read:
        dataPoints = np.array(read[0], read[1])

        return dataPoints

print(generatingArray(dataFile))

当我调用该函数时,它返回“无”。玩弄return语句的放置通常会给我一条错误消息。任何有关如何调整我的代码的建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

第一件事是将变量名“ read”更改为其他名称。与内置方法/关键字共享变量名是一种不好的做法。

X=[]
Y=[]
with open('mydata.csv','r') as f:
#opens file for reading
    for line in f:#this reads a line
         a,b=line.split()
         X.append(a)
         Y.append(b)
      #appends first element to listX second to Y

必须阅读一行时使用with-open。 由于一行具有两个以空格分隔的值,因此您可以将其拆分并提取两个值,并将其附加到包含X和Y坐标的X和Y列表中。现在,如果您想拥有一个numpy数组,请使用以下命令: ar=np.array([X,Y]) [X,Y]是2Dlist,no.array将列表转换为numpy数组。