Итак, я новичок в Python, и моя цель - конвертировать разные большие dbf-файлы в csv-файлы. Я посмотрел на другой код и не понимаю многих частей. Приведенный ниже код работает для data1.dbf, но не для data2.dbf. Я получаю сообщение об ошибке:
UnicodeDecodeError: код "ascii" c не может декодировать байт ...
Я изучил кодировку для dbfread, но он говорит, что кодирование не нужно ... Другая часть, в которой я нуждаюсь, состоит в том, чтобы получить эти большие dbfs в csv. Если я использую dbfread, я не разбираюсь в коде, чтобы поместить его в файл csv.
import sys
import csv
from dbfread import DBF
file = "C:/Users/.../Documents/.../data2.dbf"
table = DBF(file)
writer = csv.writer(sys.stdout)
writer.writerow(table.field_names)
for record in table:
writer.writerow(list(record.values()))
Вот еще одна попытка использования библиотеки dbf.
import dbf # instead of dbfpy
for table in sys.argv[1:]:
dbf.export(table, header = True)
Эта команда запускается из команды, предложенной с оператором "python dbf2csv_EF.py data1.dbf ", при попытке выполнить оба моих файла dbf выдает другую ошибку. Ошибка:
... AttributeError: у объекта 'str' нет атрибута '_meta'