0

我正在尝试通过复制 col#3 添加新列,然后将 @hotmail 附加到新列

这是脚本,唯一的问题是它不会完成对输入文件的处理,它只在输出文件中显示 61409 行,而在输入文件中有 61438 行。
此外,还有一条错误消息(输入文件末尾没有空行):
email = row[3] IndexError: list index out of range

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])
4

1 回答 1

0

看起来您编辑了您在之前的答案中收到的代码。

改变

email = email.split('@', 1)[0] + '@hotmail.com'

email = row[3].split('@', 1)[0] + '@hotmail.com'
于 2013-10-11T20:02:45.933 回答