Python / Panda - 根据连接表/ csv合并csv

问题描述 投票:0回答:1

我有关于2 csv文件合并的问题。我有2个包含多列数据的文件,包括唯一的id和另一个将文件1的Id映射到文件2的id的文件。所以我基本上有一个。

现在我想创建一个新的csv文件,其中根据我的join csv中的id映射连接文件1和2中的数据。

下面是我的数据看起来的一个例子:

CSV1 - 客户

ID, Name, Lastname
1,  Peter, Pan
2,  Hank,  Tank

CSV2地址

ID, Street, State
5,  Mainstr, US
7,  H Blvd,  DE

加入-CSV:

CID, AID
1,   5
2,   7

我想要的是:

ID, Name, Lastname, Street, State
    1,  Peter, Pan,  Mainstr, US
    2,  Hank,  Tank  H Blvd,  DE

我非常感谢帮助或一个例子,我可以用python / panda解决这个问题。

python pandas csv data-structures
1个回答
1
投票

使用read_csv与双merge的DataFrames,最后删除drop不必要的列:

df1 = pd.read_csv(file1)
df2 = pd.read_csv(file2)
df3 = pd.read_csv(file3)

df = (df3.merge(df1, left_on='CID', right_on='ID')
         .merge(df2, left_on='AID', right_on='ID', suffixes=('','_'))
         .drop(['CID','AID','ID_'], axis=1))
print (df)
   ID   Name Lastname   Street State
0   1  Peter      Pan  Mainstr    US
1   2   Hank     Tank   H Blvd    DE
© www.soinside.com 2019 - 2024. All rights reserved.