我知道这看起来像一个愚蠢的问题,但无论如何。
我正在尝试将字典的字符串表示形式转换回字典。
我的工作流程如下:
d = {1:2}
s = str(d)
当我做:
dict(s)
我得到:
ValueError:字典更新序列元素 #0 的长度为 1;2 是必需的
当我这样做时:
json.loads(s)
我明白了:
ValueError:期望属性名称:第 1 行第 1 列(字符 1)
如何将其转换回字典?
更新:
我应该提一下,实际数据如下:
{'cell_num': u'', 'home_num': u'16047207276', 'registration_country': u'US', 'registration_ip': u'71.102.221.29', 'last_updated': datetime.datetime(2010, 9, 27, 15, 41, 59), 'address': {'country': u'US', 'state': u'CA', 'zip': u'', 'city': u'Santa Barbara', 'street': u'', 'confirmed': False, 'created': datetime.datetime(2010, 6, 24, 10, 23), 'updated': datetime.datetime(2010, 6, 24, 10, 23) )}, 'old_home_num': u'16047207276', 'old_cell_num': u''}
在这种情况下,带有json.loads
和ast.literal_eval()
的选项不合适。所以我更进一步并尝试使用pickle标准python库对其进行反序列化。
进口泡菜
pickle.loads(数据)
但后来我得到:
键错误:'{'