Я пытаюсь использовать cPickle для файла .pkl, созданного из "разобранного" файла .csv.Синтаксический анализ выполняется с использованием предварительно созданного набора инструментов python, который недавно был перенесен в python 3 из python 2 (https://github.com/GEMScienceTools/gmpe-smtk)
Код, который я использую, выглядит следующим образом:
from smtk.parsers.esm_flatfile_parser import ESMFlatfileParser
parser=ESMFlatfileParser.autobuild("Database10","Metadata10","C:/Python37/TestX10","C:/Python37/NorthSea_Inc_SA.csv")
import cPickle
sm_database = cPickle.load(open("C:/Python37/TestX10/metadatafile.pkl","r"))
Возвращает следующую ошибку:
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 44: character maps to <undefined>
Из того, что я могу собрать, мне нужно указать кодировку моего файла .pkl, чтобы cPickle работал, но я не знаюкакова кодировка файла, полученного в результате анализа файла .csv, поэтому я не могу использовать cPickle для этого.
Я использовал программное обеспечение для возвышенного текста, чтобы найти его "шестнадцатеричным", ноэто не принятый формат кодирования в Python 3.7, не так ли?
Если кто-нибудь знает, как определить требуемый формат кодирования или как сделать шестнадцатеричное кодирование пригодным для использования в Python 3.7, их помощь будет очень признательна.
PS используемые модули, такие как "ESMFlatfileparser", являются частью предварительно созданного набора инструментов. Учитывая это, есть ли шанс, что мне может понадобиться каким-то образом изменить кодировку в этоммодуль тоже?