我有这段Python代码:
import csv def analyse(csvFileToRead, csvFileToWrite): # open file to read openedCsvFileToRead = open(csvFileToRead) reader = csv.reader(openedCsvFileToRead) # open file to write openedCsvFileToWrite = open(csvFileToWrite) writer = csv.writer(openedCsvFileToWrite) for row in reader: date = row[8] if date[0] == "5": writer.writerow(row) # close file openedCsvFileToRead.close() openedCsvFileToWrite.close() if __name__ == "__main__": analyse("mydata.csv", "mynewdata.csv")
当使用Python 3.4运行时,我收到以下错误消息:
Traceback (most recent call last): File "main.py", line 40, inanalyse("mydata.csv", "mynewdata.csv") File "main.py", line 25, in analyse writer.writerow(row) io.UnsupportedOperation: not writable
我究竟做错了什么?我在Windows 7 64bit上.
您必须以写入模式打开文件:
openedCSvFileToWrite = open(csvFileToWrite, "w")
请注意,在Python 2.x中,文档始终使用'wb'
,而不是'w'
.