1、利用pandas进行数据分析时,有时需要将字典存入pandas数据帧单元格内。例如:
a = {'a':1,'b',:2}
data['TEST'] = a
# 运行时一般报错
Length of values (3) does not match length of index (1)
# 需要将字典进行转换成文本,有两种方式
# 一种利用str强行进行转换,一种则是利用json.dumps()(建议使用该,方法)
a_str = json.dumps(a)
data['TEST'] = a_str
2、将字典存入单元格,后续使用时转回json字典格式,可以使用两种方式。
(1)、利用 json.dump(),该种方式只能针对只有双引号的情况,如果json字符串中同时存在单双引号时,则需要使用方法(2)
(2)、利用eval()进行转换,例如:
eval(py_str)['wordsInfo']
但需要注意json自负串中存在:NaN、true、false、null等等非json中存在的字符出现,当出现该类字符时需要将相应字符进行替换。例如:
jsonstr.replace("true","True").replace("false","False").replace("null","None")