2017-02-16 87 views
-1

这是我的第一篇文章,如果我错过任何东西,请原谅。 我在我的CSV文件中有一些数据,并试图将数据导入到我的prod中并获取UnicodeDecodeError。我有一些法语单词在我的csv文件UnicodeDecodeError:'utf8'编解码器无法解码位置1中的字节0x8e

代码:

open_csv = csv.DictReader(open('filename',''rb)) 
    for i in open_csv: 
    x = find(where={})#mongodb query 
    x.something = i.get(row_header) 
    x.save() 

我得到的UnicodeDecodeError:“UTF-8”编解码器不能在保存数据

+0

这里是我的代码open_csv = csv.DictReader(开放( '名', '' RB)) 因为我在open_csv: X =查找(其中= {})#MongoDB的查询 x.something =我。 get(row_header) x.save() – Kashyap

+1

我怀疑这是因为该文件不是UTF-8。尝试用''mbcs''解码。 –

+1

将该代码编辑到您的问题中;它作为评论几乎不可读。 – ShadowRanger

回答

0

我会在适当的位置解码字节为0x8E 1个错误建议你试试下面的代码:

import codecs 
open_csv = csv.DictReader(codecs.open('filename','rb')) 
for i in open_csv: 
    x = find(where={}) 
    x.something = i.get(row_header) 
    x.save() 

我在Python 3.x的工作,但是这应该在2.x的工作太多,如果这是你使用的是什么。

+1

Python 2和3之间最大的区别之一就是它处理Unicode的方式。我不会假设*任何*。 –

+0

@sleepcoffeedelight:我尝试使用编解码器,但仍然得到相同的错误。 – Kashyap

相关问题