我正在参加Kaggle Titanic初学者比赛。我通常在Spyder IDE中工作,但我遇到了一个奇怪的问题。预期的输出应该是418行。当我从终端运行脚本时,我得到的输出是418行(如预期的那样)。当我在Spyder IDE中运行时,输出是408行而不是418.当我在当前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)
答案 0 :(得分:0)
您可以尝试:
writeFile = open("/gendermodelDebug.csv", "w") #'w' instead of 'wb'
如果您使用'wb'
二进制输出,则row
没有意义。
....
请记住:
完成工作后,您需要使用以下命令关闭打开的文件:
writeFile.close()