正在Python中通過HTTP導入製表符分隔文件。將未知編碼的文件從Python導入到MongoDB中
在將行數據插入到MongoDB之前,我從字符串中刪除了斜線,刻度和引號。
不管數據的編碼,MongoDB是我扔的例外:以最快的速度,我可以
bson.errors.InvalidStringData: strings in documents must be valid UTF-8
所以在努力解決這個問題,從閱讀中,我已經做了我想,使用unicode()函數將行的數據轉換爲Unicode。另外,我已經打過電話解碼()函數傳遞「統一」作爲第一個參數,但收到錯誤消息:
LookupError: unknown encoding: unicode
從那裏,我可以讓我的字符串操作,如更換斜線,蜱,和引號。然後在將數據插入到MongoDB之前,使用str.encode('utf-8')函數將其轉換爲UTF-8。
問題:當轉換爲Unicode,我收到錯誤
UnicodeDecodeError: 'ascii' codec can't decode byte 0x93 in position 1258: ordinal not in range(128)
有了這個錯誤,我不太知道從哪裏繼續。
我的問題是:如何在不知道編碼的情況下成功導入文件中的數據並將其成功插入到需要UTF-8的MongoDB中?
非常感謝!
這是爲什麼標籤 「CSV」? – 2011-01-13 22:06:08
但你說過「通過HTTP導入製表符分隔的文件」......「CSV」適合哪裏? – 2011-01-13 22:18:21