2013-07-17 4 views
0

어쩌면 나는 까다 롭지 만 변환하려고하는 Matlab 사용자는 데이터 가져 오기와 관련하여 정말로 문제가 있습니다. 나는에서 읽은 CSV로 데이터의 두 개 이상의 열을 읽을 수없는 것. 여기에 내가 할 수없는, 내가 csv readin을 사용하여 여러 열을 읽음

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

내가 2 개 이상의 열이 Data.csv를 사용하는 경우

을 사용하고있는 코드입니다 세 번째 열에서 아무것도 반환하는 것 그래서 내가 원하는 데이터를 얻기 위해 여러 csv 파일을 읽어야합니다.

다른 점을 가져 오는 방법을 알 수 없기 때문에 CSV 형식 만 사용한다는 점도 드러내고 싶습니다. 이전 MATLAB 사용자로서 스프레드 시트를 .txt 파일로 복사하여 가져 오는 것이 좋습니다. 그것에 어떤 방향도 크게 감사하겠습니다. 고마워요

답변

0

변수를 계속 추가하면 (즉, z = [] 및 z.append (line [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]) 

는 텍스트 파일로 스프레드 시트 복사 및 붙여 넣기하면 ('데이터 .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() 
관련 문제