Python / Panda - 根据join table / csv

时间:2018-03-06 10:16:21

标签: python pandas csv data-structures

我有关于合并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解决这个问题。

1 个答案:

答案 0 :(得分:1)

https://github.com/20chix/Hotel_System_Vue.js_Frontend/blob/master/src/components/Hello.vue用于带有双read_csv的DataFrame,最后按merge删除不必要的列:

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