700 개의 csv 파일이 있으며 각 파일에는 서로 다른 기간의 한 스테이션에 대한 데이터가 포함되어 있습니다. 예를 들어 2000 년부터 2017 년까지의 데이터와 2007 년부터 2017 년까지의 데이터가 있습니다. 파일에는 "year", "month"및 "day"열과 데이터 용 열이 있습니다. 중요하지 않은 열이 더 있습니다. 2015에서 2017까지의 데이터를 표시하는 행을 선택하고 모두를 하나의 CSV로 병합 할 수 있습니다. 하나의 CSV 파일에 년, 월, 일 (2015 ~ 2017) 및 모든 열에 한 스테이션의 데이터가 표시되는 700 개의 열이 포함되도록하고 싶습니다. 정말 고마워요.특정 열과 행을 기반으로하는 csv 파일의 일부를 병합합니다.
0
A
답변
0
나는이 코드를 사용하는 경우 : 모든 CSV에서
import glob
import csv
csvfiles=glob.glob ('D:/NASA/Data/Public Shared Soil Moisture/crn/*.csv')
wf = csv.writer (open('D:/NASA/Data/Public Shared Soil Moisture/crn/Y2015.csv', 'wb'), delimiter=',')
for files in csvfiles:
print files
rd = csv.reader (open(files, 'r'), delimiter = ',')
rd.next()
for row in rd:
wf.writerow (row)
그것은 복사 모든 데이터를 내가이 사용할 때 :
for files in csvfiles:
rd = csv.reader (open(files, 'r'), delimiter = ',')
rd.next()
for row in rd:
if row['year'] == '2015':
wf.writerow (row)
내가 rd.next에 오류가 발생()이 오류를 " TypeError : row [ 'year'] == '2015'인 경우 str이 아닌 "str"이 아닌 정수 목록 인덱스가 정수 여야합니다. "