다음은 glob
모듈을 사용하여 X*.csv
형태의 현재 폴더에있는 모든 파일 목록, 즉 x
으로 시작하는 모든 CSV 파일의 목록을 가져옵니다. 발견 된 각 파일에 대해 헤더 행 (선택 사항)을 건너 뛴 다음 zip()
트릭을 사용하여 나머지 모든 행을로드하여 행 목록을 열 목록으로 조 변경합니다.
각 열에 대해 각 셀을 정수로 변환하고 값의 합계를 발견 한 요소 수로 나누어 각 열의 평균을 제공합니다. 다음과 같이
Col1,Col2,Col3
6,1,10
2,1,20
5,2,30
result.csv
이 기록 될 것입니다 : 당신이 포함 XY0001.csv
이 있다면 그래서
import glob
import csv
with open('result.csv', 'w', newline='') as f_output:
csv_output = csv.writer(f_output)
for filename in glob.glob('X*.csv'):
print (filename)
with open(filename, newline='') as f_input:
csv_input = csv.reader(f_input)
header = next(csv_input)
averages = []
for col in zip(*csv_input):
averages.append(sum(int(x) for x in col)/len(col))
csv_output.writerow([filename] + averages)
: 그런 다음 형식 filename, av_col1, av_col2
등에 출력 result.csv
에 값을 기록
XY0001.csv,4.333333333333333,1.3333333333333333,20.0
Python 3.5.2를 사용하여 테스트 됨
[여러 csv 파일을 팬더로 가져 와서 하나의 DataFrame으로 연결할 수 있음] 가능한 복제본 (http://stackoverflow.com/questions/20906474/import-multiple-csv-files-into-pandas-and-concatenate-into- 하나의 데이터 프레임) – Guido