2014-09-02 6 views
23

कहना मैं इस प्रारूप में एक csv file.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]) 

मैं उबंटू में python2.7 का उपयोग कर रहा हूँ।

Thx आगे!

उत्तर

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 इस्तेमाल किया मूल्यों से डेटा प्रकार अनुमान लगाने के लिए है यह है कि फ़ाइल में पाता है।

संबंधित मुद्दे