Попытка конвертировать DBF в Excel с Python, но в некоторых строках есть UnicodeDecodeError - PullRequest
0 голосов
/ 07 февраля 2019

При первой публикации приветствуются любые советы:)

У меня достаточно данных в формате DBF.Я хочу экспортировать его в Excel.Раньше я делал это с файлами меньшего размера и работал отлично, теперь я хочу сделать то же самое с DBF, который записал бы несколько сотен тысяч строк в Excel.Но я не уверен, как справиться с этой ошибкой:


from dbfread import DBF
import pandas as pd
import time

start = time.time()

name_file= "MyData.dbf"

file = open(name_file, encoding="utf-8")

l = []


rango = 1000
count = 0

for limit, i in zip(range(rango), DBF(name_file)):
            count += 1
            l.append(i)





file.close()
df = pd.DataFrame(l)


end = time.time()
lapse = str(round(end-start,2))

print(f"{rango} iterations where processed in {lapse} seconds, total counts: {count}")

Первые 718 итераций были успешными.Все работает гладко, и я могу экспортировать данные в Excel.

Но тогда, если я установлю "rango" на 719 или больше, я получу эту ошибку:

UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 33: character maps to <undefined>

IЯ ищу способ пропустить ошибку, чтобы цикл мог просто продолжать добавлять данные следующей итерации в список.Но ошибка происходит именно в этой строке:

for limit, i in zip(range(rango), DBF(name_file))

Я новичок в кодировании и исследовал обработку ошибок, но я не нахожу ничего конкретного для этого.Большинство вещей, которые я пробовал, заставляют цикл начинать заново с нуля.Я также попытался изменить кодировку = "utf-8", но, похоже, ничего не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...