2013-07-17 290 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()