如何加入两个大型CSV文件?

时间:2017-05-12 15:38:55

标签: python bash csv join dataset

我有两个我想加入的大型.csv文件。

file1.csv 具有以下结构:

productcode; *many useless columns* ; startdate; enddate; *some other useless columns*

file2.csv 具有以下结构:

productcode; *many useless columns different from file1* ; page; startdate; enddate; *some othe useless columns*

我想将这两个文件合并到一个文件中(比如out.csv),其结构与file1.csv 相同,但与file2.csv中的“page”列相同,即

productcode; *useless columns* ; page; startdate; enddate; *useless columns*

连接条件是相同的产品代码和重叠日期,即:

file1.productcode == file2.productcode

!(file1.endate<file2.startdate or file2.enddate<file1.startdate)

但是,我不知道如何做到这一点。一种可能性是将两个CSV导出到MySql中,处理它们,然后将结果导出到最终的CSV文件中。但是,这需要时间(并且耗费资源)。

我愿意接受任何建议。

1 个答案:

答案 0 :(得分:0)

使用pandas加载它们并使用函数.join()将两者与您需要的列引用一起加入