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")
在使用Pandas进行数据分析时,可能需要将字典存储到数据帧的单元格中。这通常涉及将字典转换为字符串,可以使用json.dumps()。之后,要将单元格中的字符串转回字典,可以使用json.loads(),但如果字符串包含特殊字符如NaN,true,false,null,则需预处理。另一种方法是使用eval(),但这可能不适用于所有情况,特别是当字符串中混合使用单双引号时。
1224

被折叠的 条评论
为什么被折叠?



