pandas.DataFrame.to_json按行转json的方法


Posted in Python onJune 05, 2018

最近需要将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 
default is ‘index' 
allowed values are: {‘split','records','index'} 
DataFrame 
default is ‘columns' 
allowed values are: {‘split','records','index','columns','values'} 
The format of the JSON string 
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 
table : dict like {‘schema': {schema}, ‘data': {data}} describing the data, and the data component is like orient='records'. 
Changed in version 0.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=['row 1', 'row 2'],
  columns=['col 1', 'col 2'])
###########
split
###########
df.to_json(orient='split')
>'{"columns":["col 1","col 2"],
 "index":["row 1","row 2"],
 "data":[["a","b"],["c","d"]]}'
###########
index
###########
df.to_json(orient='index')
>'{"row 1":{"col 1":"a","col 2":"b"},"row 2":{"col 1":"c","col 2":"d"}}'
###########
records
###########
df.to_json(orient='index')
>'[{"col 1":"a","col 2":"b"},{"col 1":"c","col 2":"d"}]'
###########
table
###########
df.to_json(orient='table')
>'{"schema": {"fields": [{"name": "index", "type": "string"},
  {"name": "col 1", "type": "string"},
  {"name": "col 2", "type": "string"}],
 "primaryKey": "index",
 "pandas_version": "0.20.0"},
 "data": [{"index": "row 1", "col 1": "a", "col 2": "b"},
 {"index": "row 2", "col 1": "c", "col 2": "d"}]}'

主要参考官网API:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_json.html

以上这篇pandas.DataFrame.to_json按行转json的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python查找第k小元素代码分享
Dec 18 Python
详解配置Django的Celery异步之路踩坑
Nov 25 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
Gauss-Seidel迭代算法的Python实现详解
Jun 29 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
Pandas之排序函数sort_values()的实现
Jul 09 Python
python关闭占用端口方式
Dec 17 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
Feb 15 Python
Python OpenCV去除字母后面的杂线操作
Jul 05 Python
增大python字体的方法步骤
Jul 05 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
python 离散点图画法的实现
Apr 01 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
Jun 05 #Python
Python实现迭代时使用索引的方法示例
Jun 05 #Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 #Python
django反向解析和正向解析的方式
Jun 05 #Python
Python numpy实现二维数组和一维数组拼接的方法
Jun 05 #Python
Python实现字典(dict)的迭代操作示例
Jun 05 #Python
python矩阵转换为一维数组的实例
Jun 05 #Python
You might like
sae使用smarty模板的方法
2013/12/17 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
js类中获取外部函数名的方法与代码
2007/09/12 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
JSON+HTML实现国家省市联动选择效果
2014/05/18 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
JavaScript tab选项卡插件实例代码
2016/02/23 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
js实现简单图片拖拽效果
2021/02/22 Javascript
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
Python依赖包整体迁移方法详解
2019/08/15 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
捷科时代的软件测试笔试题
2015/11/09 面试题
记者岗位职责
2014/01/06 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
平安建设工作方案
2014/06/02 职场文书
医学求职自荐信
2014/06/21 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
工作收入证明模板
2015/06/12 职场文书
薪资证明范本
2015/06/19 职场文书
追悼会悼词大全
2015/06/23 职场文书