如何解析json读入的orient属性
这篇文章给大家介绍如何解析json读入的orient属性,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
csv文件的最后一行是几个 json 格式的单元格,今天下午就是困在这上面,始终解析不到想要的格式。
例如某个单元格 json 串格式化为:
{"status":0, "msg": , result:[{"s1":1, "s2": "ming"}, {"s1": 20, "s2":"xxx"}] },经过简化后的取值。
利用pandas, 我想转化如上json串为dataframe对象,使用: pd.read_json(jsonStr, orient="index"), 会报类似长度不一致的异常。
后面,处理原来字符串,只保留 : result:[{"s1":1, "s2": "ming"}, {"s1": 20, "s2":"xxx"}]
,然后再 read_json, 这里面有个关键的属性 orient,它决定读入 json 的解析格式,
'split' : dict like {index -> [index], columns -> [columns], data ->[values]}
'records' : list like [{column -> value}, ... , {column -> value}]
'index' : dict like {index -> {column -> value}}
'columns' : dict like {column -> {index -> value}}
'values' : just the values array
以上可以看出,匹配 orient 为 records ,读入后才能得到如下格式的dataframe:
s1 s2
0 1 ming
1 20 xxx
当时出问题,就主要是没有设置合适的orient属性值(records). 仅此小记,收笔休息。
关于如何解析json读入的orient属性就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。