我正在尝试将模块的输出保存到CSV文件,当我运行以下代码时出错,这是模块的一部分:
base_keys = ['path', 'rDATE', 'cDate', 'cik', 'risk', 'word_count']
outFile = open('c:\\Users\\ahn_133\\Desktop\\Python Project\\MinkAhn_completed2.csv','wb')
dWriter = csv.DictWriter(outFile, fieldnames=base_keys)
dWriter.writerow(headerDict)
以下是错误消息(base_keys是标题。)
return self.writer.writerow(self._dict_to_list(rowdict))
TypeError: 'str' does not support the buffer interface
我甚至不理解错误信息是什么。我使用Python 3.3和Windows 7。
感谢您的时间。
答案 0 :(得分:6)
以二进制模式打开文件以编写csv数据在Python 3中不起作用,简单地说。你想要的是在文本模式下打开并使用默认编码或自己指定一个,即你的代码应该写成:
import csv
k = ['hi']
out = open('bleh.csv', 'w', newline='', encoding='utf8') # mode could be 'wt' for extra-clarity
writer = csv.DictWriter(out, k)
writer.writerow({'hi': 'hey'})
现在,由于bug,您还需要在打开此文件时指定newline=''
以写入CSV输出。