У меня есть большое количество файлов DBASE IV .dbf, которые я хочу читать в python3. Они производятся ежедневно, и я ищу средства для их обработки в AWS Lambda, отсюда и скрипт на python. dbfread - одно из решений, которое я попробовал. К сожалению, я не могу прочитать данные из файлов, так как получаю следующую ошибку:
Файл "C: \ Users \ sa \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ dbfread \ dbf.py", строка 122, в init
self._read_field_headers (входной_файл)
Файл "C: \ Users \ sa \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ dbfread \ dbf.py", строка 224, в _read_field_headers
field = DBFField.unpack (sep + infile.read (DBFField.size - 1))
Файл "C: \ Users \ sa \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ dbfread \ struct_parser.py", строка 36, в распакованном виде
items = zip (self.names, self.struct.unpack (data))
ошибка: для распаковки требуется буфер 32 байта
Я безуспешно пытался использовать модуль dbfread, dbfpy, tablib и ряд других модулей.
def printdbfread(filename):
table = DBF(filename, encoding='iso-8859-1')
#table = DBF(filename, parserclass=TestFieldParser)
for record in table:
print(record)
Буду очень признателен за любую помощь по вышеперечисленному или любые ссылки на другие модули, которые могут читать файлы, нарушающие работу.