2015-09-09 81 views
0

我有13个csv文件之间的合并。我想尝试熊猫和蟒蛇,但我挣扎着。熊猫的合并几个CSV与一个共同的列

有3种类型的文件的密钥是 1)已列ABCD 2)具有ABCD列(与不含有任何来自1) 3)具有列ABCDEFG(与来自图1和2中的一个包含所有)

我怎么会去有关合并包括了所有在所有文件中的信息,这些都成为一个CSV?

+0

确实pd.concat帮助呢? – acushner

+0

我试图较早,但后来我发现它并没有做什么,我以后,因为它不会检查是否唯一的列已经在他们还是不 –

回答

0

难写恰好没有看到示例数据。但是这应该让你开始。

import pandas as pd 
df = pd.read_csv('file1.csv') 
df = df.append(pd.read_csv('file2.csv')) #this one adds more rows to the dataframe 
df = df.join(pd.read_csv('file3.csv'), on=[a,b,c,d], how='left') # this one will add columns if they match data 
2

如下,利用你应该做的外部合并内置reduce method

files = ['file1.csv', 'file2.csv', ...] # the 13 files 
dataframes = [ pandas.read_csv(f) for f in files ] # add arguments as necessary to the read_csv method 
merged = reduce(lambda left,right: pandas.merge(left,right,on='a', how='outer'), dataframes) 
+0

并返回这是一个CSV,我只想做merged.to_csv( 'merged.csv') –

+0

你可以尝试使用excel或其他东西来加载它,看看它的外观。有几种方法可以解决这个问题。你也可以尝试张贴一些样本输入和所需输出(可以是非常基本的) – dermen

+0

输入几乎是随机的,由于数量庞大,但它如序列号等等等等,所以它包含字母和引号字符有啥D型以及如何我需要设置吗? –

相关问题