2017-02-16 228 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