【发布时间】:2015-08-23 05:01:33
【问题描述】:
我有一个 21 GB 的数据集 df_ns:
domain|ns
123.com|ns1.domanihost.com
hymi.net|ns2.hostinger.com
还有另一个 12 GB 数据集 df_ip:
ip|domain
28.76.2.2|myname.com
86.90.234.5| 123.com
我想加入他们的域名,并为两个文件中的域提取 ip 和 ns。
我想到的使用方式是将 df_ip 数据加载到字典中,并逐行遍历 df_ns 数据并检查域是否存在,然后提取 ns.但它仍然非常消耗资源。
还有其他更有效的方法吗?
【问题讨论】:
-
用StringIO怎么样?
-
您对非 Python 解决方案持开放态度吗?这是一个有效的解决方案:
sort -o df_ns.csv df_ns.csv && sort -o df_ip.csv df_ip.csv && join -t'|' df_ns.csv df_ip.csv > df_combined.csv -
@Robᵩ 你能把它作为答案发布吗?
标签: python join dictionary lookup