pandas.DataFrame.to_json按行转json的方法
最近需要将csv文件转成DataFrame并以json的形式展示到前台,故需要用到Dataframe的to_json方法
to_json方法默认以列名为键,列内容为值,形成{col1:[v11,v21,v31…],col2:[v12,v22,v32],…}这种格式,但有时我们需要按行来转为json,形如这种格式[row1:{col1:v11,col2:v12,col3:v13…},row2:{col1:v21,col2:v22,col3:v23…}]
通过查找官网我们可以看到to_json方法有一个参数为orient,其参数说明如下:
orient:string Series defaultis‘index' allowedvaluesare:{‘split','records','index'} DataFrame defaultis‘columns' allowedvaluesare:{‘split','records','index','columns','values'} TheformatoftheJSONstring split:dictlike{index->[index],columns->[columns],data->[values]} records:listlike[{column->value},…,{column->value}] index:dictlike{index->{column->value}} columns:dictlike{column->{index->value}} values:justthevaluesarray table:dictlike{‘schema':{schema},‘data':{data}}describingthedata,andthedatacomponentislikeorient='records'. Changedinversion0.20.0
大致意思为:
如果是Series转json,默认的orient是'index',orient可选参数有{‘split','records','index'}
如果是DataFrame转json,默认的orient是'columns',orient可选参数有{‘split','records','index','columns','values'}
json的格式如下
split,样式为{index->[index],columns->[columns],data->[values]}
records,样式为[{column->value},…,{column->value}]
index,样式为{index->{column->value}}
columns,样式为{index->{column->value}}
values,数组样式
table,样式为{‘schema':{schema},‘data':{data}},和records类似
看一下官网给的demo
df=pd.DataFrame([['a','b'],['c','d']], index=['row1','row2'], columns=['col1','col2']) ########### split ########### df.to_json(orient='split') >'{"columns":["col1","col2"], "index":["row1","row2"], "data":[["a","b"],["c","d"]]}' ########### index ########### df.to_json(orient='index') >'{"row1":{"col1":"a","col2":"b"},"row2":{"col1":"c","col2":"d"}}' ########### records ########### df.to_json(orient='index') >'[{"col1":"a","col2":"b"},{"col1":"c","col2":"d"}]' ########### table ########### df.to_json(orient='table') >'{"schema":{"fields":[{"name":"index","type":"string"}, {"name":"col1","type":"string"}, {"name":"col2","type":"string"}], "primaryKey":"index", "pandas_version":"0.20.0"}, "data":[{"index":"row1","col1":"a","col2":"b"}, {"index":"row2","col1":"c","col2":"d"}]}'
主要参考官网API:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_json.html
以上这篇pandas.DataFrame.to_json按行转json的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。