我试图构建一个非常简单的MongoDB提取脚本,但是我偶然发现了这个问题:大多数的键名和字符串都被记录为unicode
。
所以,当我试图打印一个文档时,它会显示一堆键和值,比如u'username':u'christian'
等等
我在这个数据库中的文档非常大和复杂,所以我有几个嵌套的级别
我四处搜索了一下,想把unicode键和值转换成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)
但是我经常遇到一些未被发现的情况(比如字典列表,或者仅仅是字符串的简单列表),并且必须将所有这些添加到该函数中,到目前为止,它相当难看
有什么办法让这更简单吗
简单的回答:
Pickle
这是一种非常快速、简单的序列化和保存任何对象的方法Pickle的缺点:HERE
相关问题 更多 >
编程相关推荐