JSON转储unicodedecodede

2024-10-01 15:49:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前有一个程序,从一个网站抓取足球数据并将其导入dict

 dict5[name] = ['To: ' + toteam, 'From: ' + fromteam, 'Price: ' + price, 'Date: ' + newdate]

该网站是葡萄牙语,本机编码是UTF-8。toteam、fromteam、price和dates都预先编码为UTF-8,只是与dict中的字符串连接在一起。当我尝试将其转储到像这样的json文件时,该程序运行良好,打印到stdout没有问题。。。在

^{pr2}$

…会出现以下错误:

Traceback:....
C:\Python27\lib\json\__init__.py, line 238, in dumps
  **kw).encode(obj)
C:\Python27\lib\json\encoder.py, line 203, in encode
  chunks = list(chunks)
C:\Python27\lib\json\encoder.py, line 428, in _iterencode
  for chunk in _iterencode_dict(o, _current_indent_level):
C:\Python27\lib\json\encoder.py, line 381, in _iterencode_dict
  yield_encoder(key)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xc3 in position 0: invalid continuation byte

这本质上是从同一个站点抓取的另一个程序的副本,使用相同的编码,但是这个程序工作得很好。在

我觉得有一些unicode的元素我还没有掌握。有人能解释一下吗?在


Tags: inpy程序json编码encoder网站lib

热门问题