Получение данных из базы данных MS Access в UTF-8
Я использую Python 2.7 для доступа к базе данных в MS Access с pypyodbc. Тем не менее, мой список в 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'
1 ответ
Решение
Если вы извлекаете только один столбец, вы можете просто заменить
for row in cursor.fetchall():
listofvariants.append(row)
с
for row in cursor.fetchall():
listofvariants.append(row[0].encode('utf_8'))