在Spyder中写入CSV问题

时间:2013-10-19 03:52:04

标签: python csv spyder

我正在参加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)

1 个答案:

答案 0 :(得分:0)

您可以尝试:

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

如果您使用'wb'二进制输出,则row没有意义。

.... 请记住:
完成工作后,您需要使用以下命令关闭打开的文件:

writeFile.close()