PyMongoとPython2.xを使用している場合は、utf-8またはUnicode文字列でstrを使用する必要があります。参照: http://api.mongodb .org / python / current / tutorial.html#a-note-on-unicode-strings
data
の場合 は、次の関数を使用してすべての文字列をUnicodeに変換できる複数の文字列を含むdictです。
def convert2unicode(mydict):
for k, v in mydict.iteritems():
if isinstance(v, str):
mydict[k] = unicode(v, errors = 'replace')
elif isinstance(v, dict):
convert2unicode(v)
for code, data in dict_data.items():
try:
convert2unicode(data)
collection2.insert({'_id':code,'data': data})
except Exception as e:
print code,'>>>>>>>', str(e)
sys.exit()
前のコードはすべてのstr値をユニコードに変換します。「キー」は変更されません。根本的な原因によっては、「キー」も変換する必要があります。