将两个csv文件与python pandas比较,并使用产生的数据框创建第三个文件

里沙卜·in那(Rishabh Jain)

我有2个大型的csv文件(都有大约一百万行具有不同的列名,单个文件中大约有70列)。我想使用python pandas执行左连接(类似sql),并使用结果创建一个新的csv文件。

使用sql与以下查询可以实现相同的操作-

select opportunities.* , data_dump.OpportunityID
 from opportunities 
 left join data_dump on (opportunities.LeadIdentifier=data_dump.LeadId and opportunities.ProductSku=data_dump.ProductName)

我当时想做这样的事情,但这对于这么大的数据来说效率很低,

fetched_opportunities = pd.read_csv(path + "/data_dump.csv").fillna('')
data_obj = fetched_opportunities.to_dict(orient='records')
fetched_opportunities2 = pd.read_csv(path + "/opportunities.csv").fillna('')
data_obj2 = fetched_opportunities2.to_dict(orient='records')
for opportunity_detail2 in data_obj:
    for opportunity_detail1 in data_obj:
        if opportunity_detail2['LeadIdentifier'] == opportunity_detail1['LeadId'] & opportunity_detail2['ProductSku'] == opportunity_detail1['ProductName']:

瓦利德

尝试使用merge如下功能:

fetched_opportunities = pd.read_csv(path + "/data_dump.csv").fillna('')
fetched_opportunities2 = pd.read_csv(path + "/opportunities.csv").fillna('')

out=fetched_opportunities[["OpportunityID","LeadId","ProductName"]].merge(fetched_opportunities2,how='left',left_on=['LeadId','ProductName'],right_on=['LeadIdentifier','ProductSku']).drop(["LeadId","ProductName"],axis=1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何比较两个Excel文件并使用Python编写第三个文件?

比较两个数据框列并输出第三个

如何比较两个 csv 文件中的特定列并将差异输出到第三个文件

逐行比较两个文件,然后将匹配项移至第三个文件

有两个数据框,如何创建第三个

使用第三个值从数据框中提取两个值

Pandas 检查两个数据框列并访问第三个值

合并两个csv文件,以使用两个现有csv文件中的选定行生成第三个csv文件

将两个文本文件合并为第三个文件并跟踪数据

根据应用于两个数据框的条件创建第三个数据框

将两个文件与第三个文件的输入进行比较,并将最大计数写入第四个文件

比较两个工作表以创建第三个工作表

我想比较两个numpy数组并创建第三个数组

JS数组:如何比较两个并创建第三个

AWK:比较两个文件中的子字符串并写入第三个文件

根据键值比较两个不同布局的文件并将输出提取到第三个文件

比较两个文件的重复项并将结果发送到第三个文件

用于比较两个文件并将输出合并到第三个文件的 PowerShell 脚本

如何将两个文件的内容串联起来以构成第三个文件?

如何将两个文件之间的差异结果合并到第三个文件?

从两个不同的文件读取并打印到第三个文件

以第三个为x轴绘制两个数据框列

使用两个输出列通过SELECT创建第三个输出列

如何使用键值从两个对象创建第三个对象

要检查两个文件iterativley的条目以及python中的第三个文件

Python-比较两个嵌套列表并编写第三个嵌套列表

使用两个表中的条目从第三个表中选择数据

将两个数组 php 与第三个数组进行比较

使用Oracle MERGE INTO将两个表中的数据合并到第三个表中