【发布时间】:2012-09-05 20:54:08
【问题描述】:
我有两个非常大的列表。它们最初都在 excel 中,但较大的一个是电子邮件列表(大约 160,000 封)以及其他信息,例如他们的姓名和地址等。较小的一个是只有 18,000 封电子邮件的列表。
我的问题是,从第一个文档中删除包含第二个电子邮件地址的所有 18,000 行的最简单方法是什么?
我在想正则表达式,或者我可以使用其他应用程序?我曾尝试在网上搜索,但似乎没有太多具体的内容。我也尝试过notepad++,但是当我尝试比较这些大文件时它会冻结。
-提前谢谢你!!
【问题讨论】:
-
您熟悉任何编程语言的编程吗?如果是这样,您能否发布有关两个文件的结构和格式的更多详细信息?
-
在160,000个列表中,电子邮件地址是否在一栏中?如果是这样,您可以将这两个列表放在 Excel 中,并使用
vlookup(假设电子邮件地址将完全匹配)查找 18,000 封重复的邮件,然后使用AutoFilter和Sort来删除它们。 -
一个基于正则表达式的解决方案,如果可行的话,对于您的目的来说可能效率很低。
-
如果你懂一点编程,你可以自己写一个脚本。在 PHP 中,您可以使用
array_diff或array_intersect之类的函数来比较两个地址数组。 -
我同意 Scott Holtzman 的观点。假设它们被格式化为 csv,您可以在 excel 中打开它们并使用 vlookup、自动过滤和/或排序等功能来比较列表并将它们过滤掉。需要注意的一件事是,如果您拥有 excel 2003,则它的行数限制为刚刚超过 65,000 行,因此您只希望在拥有 excel 2007 或更高版本的情况下使用此方法。