this is my code
for code, data in dict_data.items():
try:
collection2.insert({'_id':code,'data':data})
except Exception as e:
print code,'>>>>>>>', str(e)
sys.exit()
it exited with
524715 >>>>>>> strings in documents must be valid UTF-8
I could find out the error only by the try catch method. dict_data is a large dictionary which contains calculated values from other collection.
how can i fix this?
thanks
If you are using PyMongo and Python 2.x, you should use str in utf-8 or unicode strings. See: http://api.mongodb.org/python/current/tutorial.html#a-note-on-unicode-strings
If
data
is a dict with multiple strings you can convert all of them to unicode using following function:Previous code will convert all str values in unicode, the "keys" keep untouched, depending on root cause you should also convert the "keys".