【发布时间】:2019-05-02 12:57:04
【问题描述】:
运行比较两个 csv 文件的 python 脚本后,我得到了一个新的 csv 文件,该文件仅列出新生的电子邮件地址。 (稍后将用于在我们的电子邮件系统中自动创建新用户)。
但是,我需要获取只有电子邮件地址的 csv 文件,并根据电子邮件地址中的信息,创建一个新的 csv 文件,该文件的标题为 firstname、lastname、email,然后具有适当的数据每一行。
例子:
原始 csv (newemails.csv)
john.doe@mydomain.com
terry.jackson@mydomain.com
silly.sally@mydomain.com
新的 CSV 文件应如下所示:
firstname, lastname, email
John, Doe, john.doe@mydomain.com
Terry, Jackson, terry.jackson@mydomain.com
Silly, Sally, silly.sally@mydomain.com
这是我当前的代码,它为我提供了 newemails.csv 文件
import csv
import os
import subprocess
def newemails():
for line in fileinput.input(r'C:\gamwork\currentstudents.csv', inplace=1):
print(line.lower(), end='')
with open(r'C:\gamwork\previoususers.csv', 'r') as t1,
open(r'C:\gamwork\currentstudents.csv', 'r') as t2:
fileone = t1.readlines()
filetwo = t2.readlines()
with open(r'C:\gamwork\newemails.csv', 'w') as outFile:
for line in filetwo:
if line not in fileone:
outFile.write(line)
我真的不知道从这里做什么,任何建议都非常感谢!
【问题讨论】:
-
您的问题是什么?您只是在寻找指针(离题)还是有问题?
-
FWIW 我在您的代码知识中没有看到任何明显的阻碍,可以继续前进,然后在遇到砖墙时回来
-
而不仅仅是
outFile.write(line),您应该处理该行并使用名称创建一个新字符串,然后写入 -
您可以在读取filetwo中的行之前编写标题
标签: python python-3.x csv