繁体   English   中英

用公共列联接两个csv文件

[英]Joining two csv files with common columns

我试图使用df_merge函数将两个csv文件及其公共列连接在一起,但事实是它们具有多个公共列。 我可以修改我的代码来实现吗?

这是两个csv文件中的列的示例:

文件1:

ABCDE

档案2:

AZBCRPDE

这是我的代码

df_merge = file2.merge(file1, left_on = "A", right_on = "E")

但这似乎不起作用,因为我将在合并文件中得到重复的变量。

首先导入pandas库:

import pandas as pd

您可以阅读以下两个csv文件:

data = pd.read_csv('Train_Roll_Number.txt', sep=" ", header=None)
data1 = pd.read_csv('Train_RGB_Sketch.txt', sep=" ", header=None)
data.columns = ['A', 'E', 'B']
data1.columns = ['A', 'E', 'C']

我选择将它们存储到datadata1 现在,如果要在字段“ A”和“ E”上合并这些数据框,请使用:

data = pd.merge(data, data1, on=['A', 'E'])

on参数中,您可以指定要合并两个csv文件所在的字段的列表。

根据您的要求,您需要找到第一个公共列名并传递给on运算符。 然后只需使用如下的merge功能:

import pandas as pd
CommonCols = [col for col in df1.columns if col in df2.columns]
data = pd.merge(df1, df2, on=CommonCols )

要么

data = pd.merge(df1, df2, on=[col for col in df1.columns if col in df2.columns])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM