2015-09-09 79 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型以及如何我需要設置嗎? –

相關問題