Мой XML-файл кодируется таким образом:
<?xml version="1.0" encoding="utf-8"?>
Я пытаюсь проанализировать этот файл, используя красивый суп.
from bs4 import BeautifulSoup
fd = open("xmlsample.xml")
soup = BeautifulSoup(fd,'lxml-xml',from_encoding='utf-8')
Но это приводит к
Traceback (most recent call last):
File "C:\Users\gregg_000\Desktop\Python
Experiments\NRE_XMLtoCSV\NRE_XMLtoCSV\bs1.py", line 4, in <module>
soup = BeautifulSoup(fd,'lxml-xml', from_encoding='utf-8')
File
"C:\Users\gregg_000\AppData\Local\Programs\Python\Python36\lib\site-
пакетов \ bs4__init __. Py ", строка 245, в init markup = markup.read () Файл
" C: \ Users \ gregg_000 \ AppData \ Local \ Programs\ Python \ Python36 \ lib \ encodings \ cp125 2.py ", строка 23, in decode return codecs.charmap_decode (input, self.errors, decoding_table) [0] UnicodeDecodeError: кодек 'charmap' не может декодировать байт 0x9d в позиции5343910: сопоставление символов с неопределенным
Мне кажется, что Python хочет использовать набор символов cp1252 по умолчанию. Как я могу форсировать utf-8, не прибегая к командной строке?в настройке, где я не могу легко заставить глобальные изменения в настройке Python).