en utilisant python 3.5.2 sur windows (32), je suis en train de lire un fichier DBF qui me renvoie un OrderedDict.python Erreur de décodage Unicode lors de l'accès aux enregistrements de OrderedDict
from dbfread import DBF
Table = DBF('FME.DBF')
for record in Table:
print(record)
Lorsque vous accédez au premier enregistrement tout est ok jusqu'à ce que j'atteins un dossier qui contient diacritiques:
Traceback (most recent call last):
File "getdbe.py", line 3, in <module>
for record in Table:
File "...\AppData\Local\Programs\Python\Python35-32\lib\site-packages\dbfread\dbf.py", line 311, in _iter_records
for field in self.fields]
File "...\AppData\Local\Programs\Python\Python35-32\lib\site-packages\dbfread\dbf.py", line 311, in <listcomp>
for field in self.fields]
File "...\AppData\Local\Programs\Python\Python35-32\lib\site-packages\dbfread\field_parser.py", line 75, in parse
return func(field, data)
File "...\AppData\Local\Programs\Python\Python35-32\lib\site-packages\dbfread\field_parser.py", line 83, in parseC
return decode_text(data.rstrip(b'\0 '), self.encoding)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 11: ordinal not in range(128)
Même si je n'imprime pas le disque que j'ai encore le problème.
Une idée?
https://dbfread.readthedocs.io/en/latest/introduction.html#character-encodings, essayez de passer 'DBF (...)' le codage correct. –
Etes-vous sûr que c'est l'encodage UTF-8? – Harrison
@Harrison: J'en doute fortement, DBF n'est pas un format où je m'attendrais à voir des données codées en UTF-8. Où le PO mentionne-t-il même UTF-8? –