我有13個csv文件之間的合併。我想嘗試熊貓和蟒蛇,但我掙扎着。熊貓的合併幾個CSV與一個共同的列
有3種類型的文件的密鑰是 1)已列ABCD 2)具有ABCD列(與不含有任何來自1) 3)具有列ABCDEFG(與來自圖1和2中的一個包含所有)
我怎麼會去有關合幷包括了所有在所有文件中的信息,這些都成爲一個CSV?
我有13個csv文件之間的合併。我想嘗試熊貓和蟒蛇,但我掙扎着。熊貓的合併幾個CSV與一個共同的列
有3種類型的文件的密鑰是 1)已列ABCD 2)具有ABCD列(與不含有任何來自1) 3)具有列ABCDEFG(與來自圖1和2中的一個包含所有)
我怎麼會去有關合幷包括了所有在所有文件中的信息,這些都成爲一個CSV?
難寫恰好沒有看到示例數據。但是這應該讓你開始。
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
如下,利用你應該做的外部合併內置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)
並返回這是一個CSV,我只想做merged.to_csv( 'merged.csv') –
你可以嘗試使用excel或其他東西來加載它,看看它的外觀。有幾種方法可以解決這個問題。你也可以嘗試張貼一些樣本輸入和所需輸出(可以是非常基本的) – dermen
輸入幾乎是隨機的,由於數量龐大,但它如序列號等等等等,所以它包含字母和引號字符有啥D型以及如何我需要設置嗎? –
確實pd.concat幫助呢? – acushner
我試圖較早,但後來我發現它並沒有做什麼,我以後,因爲它不會檢查是否唯一的列已經在他們還是不 –