【发布时间】:2012-01-26 00:12:10
【问题描述】:
我有一个字典列表data_dump,其中包含以下字典:
d = {"ids": s_id, "subject": subject}
我正在按照教程尝试进行批量插入:
connection = Connection(host,port)
db = connection['clusters']
posts = db.posts
posts.insert(data_dump)
失败并出现以下错误:
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
请指教。 谢谢
【问题讨论】:
-
异常很明显。 data_dump 中的某些字符串不是有效的 utf8。 data_dump 是从哪里来的?
-
尝试使用
codecs.open函数读取文件。所以open("file.txt", "r")会变成import codecs; codecs.open("file.txt", "r", "utf-8") -
@MikeSteder 我如何确保......对此感到抱歉。我只是将它们读为 f = open(filename,"r") .. 有没有办法强制这样做??
标签: python mongodb unicode pymongo