如何在Python中垂直合并几个csv文件?

时间:2014-05-18 11:03:12

标签: python csv merge spreadsheet

我需要垂直合并Python中几个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上。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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

答案 2 :(得分: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