从 UTF-8 格式的 MS Access 数据库中检索数据
Retrieving data from MS Access database in UTF-8
我正在使用 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' 对象没有属性 'encode'
如果您只检索一列,那么您可以简单地替换
for row in cursor.fetchall():
listofvariants.append(row)
和
for row in cursor.fetchall():
listofvariants.append(row[0].encode('utf_8'))
我正在使用 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' 对象没有属性 'encode'
如果您只检索一列,那么您可以简单地替换
for row in cursor.fetchall():
listofvariants.append(row)
和
for row in cursor.fetchall():
listofvariants.append(row[0].encode('utf_8'))