1

我正在使用 Python 2.7 通过 pypyodbc 访问 MS Access 中的数据库。但是,我的列表是 Unicode 而不是 utf8

我的代码如下:

listofvariants=list()
conn=pypyodbc.win_connect_mdb("C:\Users\Database.mdb")
cursor = conn.cursor()
cursor.execute("SELECT Name FROM Variant")
for row in cursor.fetchall():
    listofvariants.append(row)
print(listofvariants)
cursor.close()
conn.close()

我的结果是

["(u'Base Variant                                      ',)", "(u'First           Variant                                  ',)"

代替

["Base Variant", "First Variant"]

我尝试使用 row.encode('UTF-8') 对其进行操作,但收到错误消息: AttributeError: 'Row' object has no attribute 'encode'

4

1 回答 1

2

如果您只检索一列,那么您可以简单地替换

for row in cursor.fetchall():
    listofvariants.append(row)

for row in cursor.fetchall():
    listofvariants.append(row[0].encode('utf_8'))
于 2016-07-18T17:18:28.747 回答