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 に答える