Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.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_Csv - Fatal编程技术网

Python CSV脚本

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,

我试图通过复制col#3并将@hotmail附加到新列来添加一个新列

这是脚本,唯一的问题是它不会完成对输入文件的处理,它在输出文件中只显示61409行,而在输入文件中有61438行。
此外,还有一条错误消息(输入文件末尾没有空行):
电子邮件=第[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'