写入文件但得到ASCII编码错误

时间:2018-06-13 06:40:10

标签: python encoding ascii file-writing

我正在尝试从网站上的表格中删除数据。

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 :(得分:0)

文件编码是从当前环境确定的,在本例中假定为ascii。您可以直接指定文件编码:

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