2014-05-18 3 views
2

파이썬에서 여러 CSV 스프레드 시트의 데이터를 수직으로 병합해야합니다. 그들의 구조는 동일합니다. 연례 조사에서의 달이기 때문에 하나의 테이블의 데이터를 다음과 같이 두어야합니다. 내가 찾은 몇 가지 방법을 시도했지만 간단한 방법으로 뭔가를 할 수있는 방법을 찾을 수 없다 :파이썬에서 세로로 여러 csv 파일을 병합하는 방법은 무엇입니까?

import csv 

spreadsheets1 = open('0113_RE_fscom.csv','r') 
spreadsheets2 = open('0213_RE_fscom.csv','r') 
spreadsheets = spreadsheets1 + spreadsheets2 

with spreadsheet as csvfile: 
    sales = csv.reader(csvfile) 
    for row in sales: 
     print row 

미리 감사드립니다. R.

답변

2

보인다. 다음 코드를 사용해보십시오.

import csv 

spreadsheet_filenames = [ 
    '0113_RE_fscom.csv', 
    '0213_RE_fscom.csv', 
] 

for filename in spreadsheet_filenames: 
    with open(filename, 'r') as csvfile: 
     sales = csv.reader(csvfile) 
     for row in sales: 
      print row 
0

어떻게 이것에 대해 : 당신은 단순히 파일을 반복하는 것을 잊었다처럼

import csv 
from itertools import izip 

with open('0113_RE_fscom.csv', 'r') as f1, open('0113_RE_fscom.csv', 'r') as f2: 
    csv1 = csv.reader(f1, delimiter=',') 
    csv2 = csv.reader(f2, delimiter=',') 
    for line1, line2 in izip(csv1, csv2): 
     print line1 + line2 
0

이것은 팬더에서 매우 간단합니다.

import pandas as pd 
f1 = pd.read_csv('0113_RE_fscom.csv', header=None) 
f2 = pd.read_csv('0213_RE_fscom.csv', header=None) 
merged = pd.concat(f1, f2) 
merged.to_csv('merged.csv', index=None, header=None) 

파일에 실제로 헤더가있는 경우 제거하십시오. header=None

관련 문제