Получение данных из базы данных 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'))
Другие вопросы по тегам