Запись в файл, но с ошибкой кодирования ASCII - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь собрать данные из таблицы на веб-сайте.

page_soup = soup(html, 'html.parser')
stat_table = page_soup.find_all('table')
stat_table = stat_table[0]

with open ('stats.txt','w') as q:
for row in stat_table.find_all('tr'):
    for cell in row.find_all('td'):
        q.write(cell.text)

Однако, когда я пытаюсь записать файл, я получаю следующее сообщение об ошибке: кодек «ascii» не может кодировать символ «\ xa0» в позиции 19: порядковый номер не в диапазоне (128).

Я понимаю, что он должен быть закодирован с помощью .encode ('utf-8'), но

cell.text.encode('utf-8')

не работает.

Любая помощь будет принята с благодарностью.Использование Python 3.6

1 Ответ

0 голосов
/ 13 июня 2018

Кодировка файла определяется из текущей среды, в этом случае предполагается ascii.Вы можете указать кодировку файла, непосредственно используя:

with open ('stats.txt', 'w', encoding='utf8') as q:
    pass
...