1
我正在使用DictReader和DictWriter的csv文件。類型錯誤與DictReader
我試圖根據下面的代碼工作中發現here:
import csv
fieldnames = ['Node', 'ID', 'Test Description', 'file-name',
'module', 'view', 'path1','path2'] # defines order in output file
with open('testdata.txt', 'rb') as csvinput:
with open('testdata2.txt', 'wb') as csvoutput:
csvwriter = csv.DictWriter(csvoutput, fieldnames, delimiter=',')
csvwriter.writeheader()
nodecount = 0
for row in csv.DictReader(csvinput):
nodecount +=1
row['Node'] = 'node %s' % nodecount # add 'Node' entry to row data
csvwriter.writerow(row)
我使用python 3.2和我得到以下錯誤:
File "/usr/lib/python3.2/csv.py", line 153, in writerow
return self.writer.writerow(self._dict_to_list(rowdict))
TypeError: 'str' does not support the buffer interface
,我讀了這個錯誤可能是due to the fact that 「如果使用Python3x,則字符串與Python 2.x的類型不同,必須將其轉換爲字節(將其編碼)。」
但在這裏,文件已經打開使用'b'參數(因此作爲二進制文件)對嗎?
我不知道打開文件的習語已經改變... 我這樣工作。非常感謝! – bigTree