csvfile_ = open(finishedFileName+num+".csv","w",newline='')
writ = csv.writer(csvfile_, dialect='excel')
firstline = unicode(str(firstline))
try:
writ.writerow(firstline)
except TypeError:
print firstline
print type(firstline)
raise
Я получаю TypeError: must be unicode, not str
с этим кодом. При печати типа первой линии я вижу <type 'unicode'>
. Когда я печатаю первую строку, я вижу ['project_number', 'project_location']
(список длиннее этого, но он продолжается в этом стиле.)
Эта программа отлично работала в python 3.3. Я портировал его с помощью 3to2, переключившись с unix на windows, когда я это сделал.
Как я могу заставить эту программу писать плавно?
Примечание. Эта версия модуля csv не поддерживает ввод Unicode в соответствии с официальной документацией, но он сказал мне, чтобы он все равно вводил Unicode.
Полное исключение
Traceback (most recent call last):
File "C:\Users\urightswt\Downloads\LogModToConvert.py", line 382, in <module>
process(marketingLogExportFileName)
File "C:\Users\urightswt\Downloads\LogModToConvert.py", line 123, in process
writing(csvfile,modified,firstline)
File "C:\Users\urightswt\Downloads\LogModToConvert.py", line 114, in writing
writ.writerow(firstline)
TypeError: must be unicode, not str
Если я вырву код, чтобы сделать первый unicode, я вместо этого получаю
Traceback (most recent call last):
File "C:\Users\urightswt\Downloads\LogModToConvert.py", line 382, in <module>
process(marketingLogExportFileName)
File "C:\Users\urightswt\Downloads\LogModToConvert.py", line 123, in process
writing(csvfile_,modified,firstline)
File "C:\Users\urightswt\Downloads\LogModToConvert.py", line 114, in writing
writ.writerow(firstline)
TypeError: must be unicode, not str