' ASCII'编解码器无法编码字符错误

时间:2016-11-16 20:36:34

标签: python csv ms-access pyodbc

我在处理错误时请求您的帮助。我试图使用Python将MS Access数据库表保存为CSV文件。我似乎遇到了一个我不知道如何解决的错误。我已经查看了Stack溢出的不同帖子并尝试了它们但没有任何实现。请提供您的帮助。

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'

错误:

writer.writerows(cursor)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 4: ordinal not in range(128)

1 个答案:

答案 0 :(得分:0)

您应该安装并使用unicodecsv模块。

https://pypi.python.org/pypi/unicodecsv/0.14.1