0

Kaggle Titanic 初心者コンテストをやっています。私は通常 Spyder IDE で作業していますが、奇妙な問題に遭遇しました。予想される出力は 418 行になるはずです。ターミナルからスクリプトを実行すると、得られる出力は 418 行です (予想どおり)。Spyder IDE で実行すると、出力は 418 ではなく 408 行になります。現在の Python プロセスで再実行すると、予想される 418 行が出力されます。関連するすべてのビットを含むコードの編集部分を投稿しました。何か案は?

import csv
import numpy as np

csvFile = open("/train.csv","ra")
csvFile = csv.reader(csvFile)

header = csvFile.next()

testFile = open("/test.csv","ra")
testFile = csv.reader(testFile)
testHeader = testFile.next()

writeFile = open("/gendermodelDebug.csv", "wb")
writeFile = csv.writer(writeFile)


count = 0
for row in testFile:

if row[3] == 'male':
    do something to row
    writeFile.writerow(row)
    count += 1
elif row[3] == 'female':
    do something to row
    writeFile.writerow(row)
    count += 1
else:
    raise ValueError("Did not find a male or female in %s" % row)
4

1 に答える 1

0

あなたは試すことができます:

writeFile = open("/gendermodelDebug.csv", "w")          #'w' instead of 'wb'

'wb'バイナリ出力を使用する場合rowは意味がありません。

.... 覚えておいてください:
作業が終わったら、次の方法で開いたファイルを閉じる必要があります:

writeFile.close()
于 2013-10-19T04:30:43.977 に答える