J'ai une liste de dictionnaires data_dump
qui contient des dictionnaires comme:problème d'encodage insérer dans MongoDB avec Python
d = {"ids": s_id, "subject": subject}
que je suis le tutoriel en essayant de faire un insert en vrac:
connection = Connection(host,port)
db = connection['clusters']
posts = db.posts
posts.insert(data_dump)
qui échoue avec l'erreur suivante:
File "/usr/local/lib/python2.7/dist-packages/pymongo/collection.py", line 312, in insert
continue_on_error, self.__uuid_subtype), safe)
bson.errors.InvalidStringData: strings in documents must be valid UTF-8
Veuillez nous aviser. Merci
L'exception est assez claire. Une chaîne dans data_dump n'est pas valide utf8. D'où provient data_dump? –
A partir d'un fichier texte. – Fraz
Essayez d'utiliser la fonction 'codecs.open' pour lire le fichier. Donc 'open (" file.txt "," r ")' deviendrait 'codecs d'importation; codecs.open ("fichier.txt", "r", "utf-8") ' – stderr