Python:无法写入CSV文件

Ama*_*ani 1 python csv python-3.x

我有这段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")
Run Code Online (Sandbox Code Playgroud)

当使用Python 3.4运行时,我收到以下错误消息:

Traceback (most recent call last):
  File "main.py", line 40, in <module>
    analyse("mydata.csv", "mynewdata.csv")
  File "main.py", line 25, in analyse
    writer.writerow(row)
io.UnsupportedOperation: not writable
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我在Windows 7 64bit上.

dan*_*ano 6

您必须以写入模式打开文件:

openedCSvFileToWrite = open(csvFileToWrite, "w")
Run Code Online (Sandbox Code Playgroud)

请注意,在Python 2.x中,文档始终使用'wb',而不是'w'.

  • @Amani:这是一个正确的问题.如果每个人都理解了一切,就没有StackOverflow;) (2认同)