Я пытаюсь создать очень простой скрипт извлечения MongoDB, но я наткнулся на эту проблему с большинством имен ключей и строк, записываемых как unicode
.Итак, когда я пытаюсь просто напечатать документ, он выходит с набором ключей и значений, подобных этому u'username':u'christian'
и т. Д.
И мои документы в этой базе данных довольно большие и сложные, поэтому у меня есть несколько вложенныхуровни.
Я немного искал, чтобы сделать это преобразование из юникод-ключей и значений в ASCII, но ничего не нашел.
Я пытаюсь преобразовать все ключи и значения, например, так
def convert2ascii:
for k, v in mydict.iteritems():
newk = k.encode('ascii','ignore')
mydict[newk] = mydict.pop(k)
if isinstance(v, unicode):
mydict[newk] = v.encode('ascii','ignore')
elif isinstance(v, dict):
convert2ascii(v)
#elif isinstance(v, list): // todo
# convert2ascii(v)
Но я продолжаю сталкиваться с каким-то непокрытым сценарием (например, со списком словарей или простым списком строк) и вынужден добавлять все эти функции в эту функцию, и на данный момент это довольно уродливо.
Есть идеи, как мне это упростить?