Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CSV-组合、清理并以正确格式输出电子邮件_Python_Regex_Email_Csv - Fatal编程技术网

Python CSV-组合、清理并以正确格式输出电子邮件

Python CSV-组合、清理并以正确格式输出电子邮件,python,regex,email,csv,Python,Regex,Email,Csv,我正在尝试获取多个包含姓名、电子邮件地址和其他信息的文件。从CSV格式获取这些文件并删除除电子邮件以外的所有内容。然后输出一个新文件,该文件的分号分隔符都在同一行。 最终格式应如下所示: someone@hotmail.com; someoneelse@gmail.com; someone3@university.edu 我必须检查电子邮件的格式是否正确alphanumeric@alphanumeric.3letters。 我必须删除所有重复项。 我必须将此列表与另一个列表进行比较,并将其他列

我正在尝试获取多个包含姓名、电子邮件地址和其他信息的文件。从CSV格式获取这些文件并删除除电子邮件以外的所有内容。然后输出一个新文件,该文件的分号分隔符都在同一行。 最终格式应如下所示:

someone@hotmail.com; someoneelse@gmail.com; someone3@university.edu
我必须检查电子邮件的格式是否正确
alphanumeric@alphanumeric.3letters
。 我必须删除所有重复项。 我必须将此列表与另一个列表进行比较,并将其他列表中出现的电子邮件从1个列表中删除

最终的格式是,某人可以将电子邮件收件人地址复制并粘贴到Outlook中

我看了一些视频。也在这里。我发现:

但我在尝试写入新文件时出错。 我有
导入csv和re

下面是我的代码:

def final_emails(email_list):
  with open(email_list) as csv_file:
    read_csv = csv.reader(csv_file, delimiter=',')

    write_csv = csv.writer(out_emails, delimiter=";")

    for row in read_csv:
        email = row[2]  # only take the emails (from column 3)
        if email != '':  # remove empties

            # remove the header, or anything that doesn't have a '@'
            # convert to lowercase and append to list
            emails.append(re.findall('\w*@\w*.\w{3}', email.lower()))
            write_csv.write([email])
  return emails


final_emails(list1)
final_emails(list2)


print(emails)
我要检查底部的印刷品。 我添加了write以生成新文件,但出现了以下错误 TypeError:参数1必须具有“write”方法

我还在努力学习。这次我做了很多以前没有做过的事情,比如csv和正则表达式。
请提供任何帮助。多谢各位

您需要将
out\u电子邮件
定义为具有可写权限的文件句柄,然后才能在
csv.writer中使用它


csv.writer
需要具有
.write
属性(如文件句柄)的对象才能对其进行写入。似乎
out\u emails
没有
.write
属性。

我对out\u emails的定义如下:out\u emails=r“\\path\to\file.csv”
out\u emails
必须是文件句柄,类似于
out\u emails=open(r”\\path\to\file.csv“,'w')