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']
이 표시됩니다 (목록은 길지만 그 스타일은 계속됩니다.)2.7 CSV 모듈이 유니 코드를 원하지만 유니 코드를 원하지 않습니다.
이 프로그램은 python 3.3에서 잘 작동합니다. 필자는 3to2로 이식했고 유닉스에서 윈도우로 전환했다.
이 프로그램을 원활하게 작성하려면 어떻게해야합니까?
참고 :이 버전의 csv 모듈은 공식 설명서에 따라 유니 코드 입력을 지원하지 않지만 어쨌든 유니 코드 입력을 제공하라고 말했습니다.
전체 예외 내가 firstLine의 유니 코드를 만들기 위해 코드를 가지고가는 경우에
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
, 내가 대신 불행하게도
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
* 예외 만보고 있습니다. 'TypeError'를 제거하고 전체 추적을 살펴보십시오. –
파이썬 2.7의'csv' 모듈은 유니 코드를 지원하지 않는 것으로 문서화되어 있습니다 **. –
'csvfile_'이란 무엇입니까? 'io' 또는'codecs' 모듈로 열린 열린 파일 객체입니까, 유니 코드를 자동 인코딩합니까? 그렇다면 ** CSV 모듈이 아닌 유니 코드를 기대하는 ** 파일 개체입니다. 파일 객체를 여는 코드를 보여주십시오. –