【发布时间】:2017-12-26 06:06:15
【问题描述】:
我有两个 csv,其中的行可以与一列中的值匹配(在对该列进行一些调整之后)。匹配后,我想从它们中获取一些值并创建一个新的组合行。我想到了一个使用 csv.DictReader 的简单脚本,然后是双
for row1 in csv1:
for row2 in csv2:
if row1['someID'] == row2['someID]:
newdict = ... etc
但是,一个文件是 900 万行,另一个是 500k 行。所以我的代码需要 4.5 * 10^12 次迭代。因此我的问题是:什么是匹配它们的快速方法?重要的: 它们匹配的这个“someID”在 csv 中都不是唯一的。 我希望每场比赛都有额外的行。因此,如果出现“someID” 两次 csv1 和 3 次 csv2,我预计最终结果中有 6 行带有这个“someID”。
【问题讨论】:
-
两列中的 someID 是否唯一?
标签: python pandas fuzzy-search