1
오류를 해결하기 위해 귀하의 친절한 도움을 요청합니다. 파이썬을 사용하여 MS Access 데이터베이스 테이블을 CSV 파일로 저장하려고합니다. 나는 오류가 발생하는 것 같아 수정 방법을 모른다. 스택 오버플로에 대한 여러 게시물을 살펴본 결과, 아무 것도 성취하지 못했습니다. 친절한 도움을주십시오.'ascii'코덱이 문자 오류를 인코딩 할 수 없습니다.
import pyodbc
import csv
conn_string = ("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Access\\permissions.accdb")
conn = pyodbc.connect(conn_string)
cursor = conn.cursor()
cursor.execute("select * from [Perm_Site Info];")
with open('C:\\Desktop\\Python Files\\Perms_Site_Info.csv','wb') as csvfile:
writer = csv.writer(csvfile)
rest_array = [text.encode("utf8") for text in cursor]
writer.writerow(rest_array)
writer.writerow([i[0] for i in cursor.description])
writer.writerows(cursor)
cursor.close()
conn.close()
print 'All done for now'
오류 : 당신은 아마 설치하고 unicodecsv 모듈을 사용한다
writer.writerows(cursor)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 4: ordinal not in range(128)
이와 같은 이전 질문을 검색 한 적이 있습니까? 파이썬 2.x 솔루션과 동일합니다. http://stackoverflow.com/q/40619675/4451406 –
제안을 보여주기 위해 스 니펫을 편집했습니다. Irmen 링크에 대한 제안을 시도했지만 다른 메시지를 보냈습니다. rest_array = [커서의 텍스트에 대한 text.encode ("utf8")] AttributeError : 'pyodbc.Row'객체에 '인코딩'속성이 없습니다. –
먼저 결과 행을 적절한 str 유형으로 변환하십시오. 당신은 행 결과 객체를 CSV –