2014-03-13 23 views
-3

나는 약 1500 개의 행과 8 개의 열을 가진 큰 CSV 파일을 가지고 있습니다. 즉, 첫 번째 CSV의 특정 행만 사용하여 레코드 수를 줄인 새로운 CSV 파일을 만들고 싶습니다. 목록에 필수 행 번호가 있습니다. 기본 CSV 파일에 영향을주지 않고 필요한 행을 추출하는 방법 파이썬을 사용하여 이것을하고 싶습니다.파이썬을 사용하여 CSV 파일에서 특정 행 추출하기

+0

"목록에 필수 행 번호가 있습니다." 이것은 정확히 무엇을 의미합니까? – Drewness

+0

원본 CSV 형식의 필수 표시가 있습니다. –

+0

정확히 얼마나 많은 CSV 파일이 관련되어 있습니까? 당신은 당신이 바꾸고 싶은 큰 것을 가지고 있다고 말하기 시작하고, 처음과 나중에 중요한 것을 언급하기를 계속합니다 -이 다른 사람들은 어디에서 오는 것입니까? – martineau

답변

0

당신은 numpy.loadtxt 사용할 수 있습니다

import numpy as np 

data = np.loadtxt('yourfile.csv', delimiter=',') 
row = data[3] # fourth row e.g. 

편집 : 를 통합 위 :

rowlist = [0, 5, 99] 

with open('output.txt', w) as out: 
    for rowindex in rowlist: 
     out.write(data[rowindex]) 
0

당신은 파일을 읽어와 출력 CSV를 만들 csv.DictReader 또는 csv.reader을 사용할 수 있습니다 extrasaction = '무시'를 사용하는 것을 선호하는 헤더. 모든 열을 유지하려면 필드 머리글을 입력에서 출력 사양으로 복사하십시오. 나는 좀 더 일반적인 경우를 드리고 있습니다. 파일을 새 CSV 파일로 출력하면 출력 헤더에 지정한 열만 출력됩니다. 다른 모든 열은 삭제됩니다. 출력 루프는 지정한 행 표시기를 사용합니다. 출력 파일의 1 행은 새로운 헤더가됩니다.

for rowindex in rowlist: 
    outfile.writerow(indata[rowindex]) 
관련 문제