Python CSV脚本
我试图通过复制col#3并将@hotmail附加到新列来添加一个新列 这是脚本,唯一的问题是它不会完成对输入文件的处理,它在输出文件中只显示61409行,而在输入文件中有61438行。Python CSV脚本,python,csv,Python,Csv,我试图通过复制col#3并将@hotmail附加到新列来添加一个新列 这是脚本,唯一的问题是它不会完成对输入文件的处理,它在输出文件中只显示61409行,而在输入文件中有61438行。 此外,还有一条错误消息(输入文件末尾没有空行): 电子邮件=第[3]行 索引器:列表索引超出范围 inFile = 'c:\\Python27\\scripts\\intake.csv' outFile = 'c:\\Python27\\scripts\\final.csv' with open(inFile,
此外,还有一条错误消息(输入文件末尾没有空行):
电子邮件=第[3]行 索引器:列表索引超出范围
inFile = 'c:\\Python27\\scripts\\intake.csv'
outFile = 'c:\\Python27\\scripts\\final.csv'
with open(inFile, 'rb') as fp_in1, open(outFile, 'wb') as fp_out1:
writer = csv.writer(fp_out1, delimiter=",")
reader = csv.reader(fp_in1, delimiter=",")
for col in reader:
del col[6:]
writer.writerow(col)
headers = next(reader)
writer.writerow(headers + ['email2'])
for row in reader:
if len(row) > 3:
email = email.split('@', 1)[0] + '@hotmail.com'
writer.writerow(row + [email])
看起来您编辑了先前答案中收到的代码 改变
email = email.split('@', 1)[0] + '@hotmail.com'
到
您的错误消息似乎引用了代码中没有的行。如果您在访问
行[3]
时获得了索引器
,则只需在访问前添加打印行
,查看哪一行给您带来了麻烦。对于您发布的代码,在您完成For col in reader:
循环后,您就在文件的末尾,因此我不知道next(reader)
或For row in reader:
如何工作/做任何事情。我同意@DSM,您应该发布您的实际代码,或者行为相同的东西。您是否使用前面问题中的代码:?如果是这样的话,也许你应该增加这个问题,而不是开始一个新的问题。
email = row[3].split('@', 1)[0] + '@hotmail.com'