2014-09-02 28 views
23

說,我有以下格式的CSV FILE.CSV:如何在Python中將csv文件導入爲numpy.array?

dfaefew,432,1 
vzcxvvz,300,1 
ewrwefd,432,0 

如何導入第二列爲numpy.array和第三列作爲另外一個是這樣的:

second = np.array([432, 300, 432]) 
third = np.array([1, 1, 0]) 

我我在Ubuntu中使用python2.7。

Thx ahead!

回答

38

numpy.genfromtxt()是在這裏使用

import numpy as np 
csv = np.genfromtxt ('file.csv', delimiter=",") 
second = csv[:,1] 
third = csv[:,2] 

>>> second 
Out[1]: array([ 432., 300., 432.]) 

>>> third 
Out[2]: array([ 1., 1., 0.]) 
的最好的事情
11

您可以使用numpy.loadtxt

In [15]: !cat data.csv 
dfaefew,432,1 
vzcxvvz,300,1 
ewrwefd,432,0 

In [16]: second, third = loadtxt('data.csv', delimiter=',', usecols=(1,2), unpack=True, dtype=int) 

In [17]: second 
Out[17]: array([432, 300, 432]) 

In [18]: third 
Out[18]: array([1, 1, 0]) 

或者numpy.genfromtxt

In [19]: second, third = genfromtxt('data.csv', delimiter=',', usecols=(1,2), unpack=True, dtype=None) 

在參數的唯一的變化是我用dtype=None,它告訴genfromtxt從值推斷的數據類型,它在文件中找到。