【问题标题】:How to remove duplicate emails csv file如何删除重复的电子邮件 csv 文件
【发布时间】:2015-05-24 20:23:08
【问题描述】:

我需要你的帮助,

如何删除 csv 文件中重复的电子邮件地址

示例: 我有 10000 条电子邮件记录(all-email.csv) 发送电子邮件促销后,我收到 2550 封无效电子邮件 (invalid.csv)

实际上 2550 封电子邮件来自我的 10000 封电子邮件。 (all-email.csv)

我想使用所有记录电子邮件成为来源,并从无效电子邮件中找到任何重复的电子邮件,然后只将干净的电子邮件(不重复)保存到干净的电子邮件(clean-email.csv)中

这意味着(10000 封电子邮件 - 2550 封电子邮件 = 7450 封干净的电子邮件)

如果您能帮助我,我将不胜感激,谢谢

这是我的 php 代码:

    <?php
$all = file('clean1.csv');
$invalid = file('Bounced_Email.csv');
$correctEmails=array_diff($all, $invalid); 

//print_r($correctEmails)."\n";
foreach ($correctEmails as $email) { echo $email."<br>"; }
?>

我累了继续尝试这个

【问题讨论】:

  • $array$array2 没有在你的函数中输入,它们超出了范围,为什么不尝试像 array_diff 这样的数组函数。你确定使用file() 而不是filegetcsv
  • 尝试将所有这些电子邮件存储在数据库中并通过加入删除。创建这么大的数组并对其进行迭代......好吧,如果不是那么频繁地使用数组就可以了。
  • 感谢您的帮助,我尝试使用您的方法运行 php 代码:$all = file('all_email.csv'); $invalid = file('invalid_email.csv'); $correctEmails=array_diff($all, $invalid); for ($i=0; $i "; } 但仍然错误,任何解决方案...

标签: php email csv duplicates


【解决方案1】:

array_diff 用于此类目的。只需尝试:

$all = file('all_email.csv');
$invalid = file('invalid_email.csv');
$correctEmails=array_diff($all, $invalid);

array_diff — 计算数组的差异

http://php.net/manual/en/function.array-diff.php

【讨论】:

  • 感谢您的帮助,我尝试使用您的方法运行 php 代码:$all = file('all_email.csv'); $invalid = file('invalid_email.csv'); $correctEmails=array_diff($all, $invalid); for ($i=0; $i "; } 但仍然错误,任何解决方案...谢谢
  • @user2446399 - 什么样的错误?顺便说一句:尝试用这样的代码回显您的$correctEmailsforeach ($correctEmails as $email) { echo $email."&lt;br&gt;"; }
  • 非常感谢您的帮助,现在是我想要的工作...如果我们想计算(File_A.csv 和 File_B.csv)之间有多少电子邮件重复(已删除)。你知道让它发挥作用的任何想法吗?
  • 是的,要计算两个数组中有多少个,您可以使用 array_intersect($all,$invalid) - 此函数返回 both 数组中的值。- php.net/manual/en/function.array-intersect.php
猜你喜欢
  • 2016-08-08
  • 1970-01-01
  • 2014-05-15
  • 2019-12-17
  • 2011-08-26
  • 2013-09-04
  • 2012-05-18
  • 1970-01-01
  • 2015-01-24
相关资源
最近更新 更多