Python写入json文件会产生UnicodeDecodeError

时间:2017-10-20 08:47:29

标签: python json csv utf-8

我有一个字典列表final,当我尝试将其导出到json时,我收到以下错误。在创建final时,我使用了一些包含非ascii字符的csv文件。所有csv文件都是UTF-8类型的csv。

dirname = os.path.dirname(os.path.abspath(__file__))
jsonfilename = os.path.join(dirname, 'Final_Results.json')
with open(jsonfilename, 'w') as fp:
    json.dump(final, fp)

我收到以下错误。

Traceback (most recent call last):  
  File "C:\Users\Dell\Desktop", line 138, in <module>  
    json.dump(final, fp)  
  File "C:\Python27\lib\json\__init__.py", line 189, in dump  
    for chunk in iterable:  
  File "C:\Python27\lib\json\encoder.py", line 431, in _iterencode  
    for chunk in _iterencode_list(o, _current_indent_level):  
  File "C:\Python27\lib\json\encoder.py", line 332, in _iterencode_list  
    for chunk in chunks:  
  File "C:\Python27\lib\json\encoder.py", line 390, in _iterencode_dict  
    yield _encoder(value)  
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 15-16: 
invalid continuation byte  

csv文件中的一行 Walkers Meaty Variety Crisps 14x25g Only £2.00: Save £1.00,Food Cupboard Crisps, Snacks & Nuts,8,Walkers

代码

- - 编码:utf-8 - -

在顶部。

我也试过了  1.使用编解码器,如其他一些帖子所建议的那样 https://words.bighugelabs.com/api.php
 2.尝试将encoding = 'utf-8'添加到json.dump行无用。

推进这项工作的最佳方法是什么? 使用python 2.7

以下是整个代码 UnicodeDecodeError for WRITING File

以下是csv文件的片段 http://dpaste.com/1920N7Q

0 个答案:

没有答案