2013-07-17 289 views
0

也許我只是挑剔,但作爲一個Matlab用戶試圖轉換我真的無法導入數據。我似乎無法與CSV數據的兩個以上的列讀取讀取,這裏是我使用閱讀多列csv閱讀

x,y = [],[] 
csv_reader = csv.reader(open('Data.csv')) 
for line in csv_reader: 
    x.append(line[0]) 
    y.append(line[1]) 

如果我使用Data.csv超過2列的編碼,我不能似乎從第三列返回任何東西,所以我必須閱讀幾個CSV文件才能獲取我想要的數據。

我也想提出一點,我只使用CSV格式,因爲我無法弄清楚如何導入其他任何東西。同樣,作爲以前的Matlab用戶,我更喜歡將電子表格複製到.txt文件並導入。任何方向也將不勝感激。非常感謝

回答

0

這隻要我不停地添加變量,工作對我罰款,即Z = []和z.append(行[2]),等等......也許我誤解了問題嗎?

import csv 
x,y,z = [],[],[] 
csv_reader = csv.reader(open('Data.csv')) 
for line in csv_reader: 
    x.append(line[0]) 
    y.append(line[1]) 
    z.append(line[2]) 

如果從電子表格複製並粘貼到一個文本文件,你可以打開(「DATA.TXT」),裂\ t的每一行,如果這是什麼,是列之間的分隔符。

xx,yy,zz = [],[],[] 
fromtextfile = open('Data.txt') 
#(append each list) for 
#item in the line, split by tabs, into a list for line in the file 
[(xx.append(item[0]),yy.append(item[1]),zz.append(item[2])) \ 
for item in [line[:-1].split('\t') for line in fromtextfile]] 

#or 

xxx,yyy,zzz = [],[],[] 
fromtextfile = open('Data.txt') 
temp = [] 
for line in fromtextfile: 
    temp.append(line[:-1]) 
for item in temp: 
    templist = item.split('\t') 
    xxx.append(templist[0]) 
    yyy.append(templist[1]) 
    zzz.append(templist[2]) 

fromtextfile.close()