26 июл. 2016 г.

Python и DBF

Собственно стояла задача подружить Python и dbf-файл.

#!/usr/bin/env python
# -*- coding: utf8 -*-

import dbf

table = dbf.Table("table1.dbf", codepage='cp866')
table.open('read-only')

print table

for i in table:
print i.f1, i.f3.encode('utf8')

table.close()


Получал множество сообщений вида:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x80 in position 0: ordinal not in range(128)

Пробовал decode/encode и т.п., пока не залез в руководство и не нашел там фразу о codepage.