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 相关文章推荐
Python3中使用urllib的方法详解(header,代理,超时,认证,异常处理)
Sep 21 Python
matplotlib作图添加表格实例代码
Jan 23 Python
python指定写入文件时的编码格式方法
Jun 07 Python
python实现梯度下降算法
Mar 24 Python
简单了解python数组的基本操作
Nov 26 Python
python list数据等间隔抽取并新建list存储的例子
Nov 27 Python
python 的numpy库中的mean()函数用法介绍
Mar 03 Python
基于Python词云分析政府工作报告关键词
Jun 02 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
Jul 30 Python
Python将字典转换为XML的方法
Aug 01 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
Dec 11 Python
Python OpenCV形态学运算示例详解
Apr 07 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
php存储过程调用实例代码
2013/02/03 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
php简单实现批量上传图片的方法
2016/05/09 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
2018/09/05 PHP
PDO::setAttribute讲解
2019/01/29 PHP
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
jQuery实现跨域
2015/02/03 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
原生js页面滚动延迟加载图片
2015/12/20 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
JQuery Ajax执行跨域请求数据的解决方案
2018/12/10 jQuery
原生JS实现图片懒加载之页面性能优化
2019/04/26 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
JS+canvas五子棋人机对战实现步骤详解
2020/06/04 Javascript
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
简单了解什么是神经网络
2017/12/23 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
使用python socket分发大文件的实现方法
2019/07/08 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
pytorch 实现删除tensor中的指定行列
2020/01/13 Python
css3隔行变换色实现示例
2014/02/19 HTML / CSS
雅诗兰黛加拿大官网:Estee Lauder加拿大
2019/07/31 全球购物
毕业生自荐书模版
2014/01/04 职场文书
表演方阵解说词
2014/02/08 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
党员公开承诺事项
2014/03/25 职场文书
新学期开学演讲稿
2014/05/24 职场文书
法制宣传标语
2014/06/23 职场文书
党的群众路线教育实践活动对照检查材料范文
2014/09/24 职场文书
会计专业自荐信范文
2019/05/22 职场文书
python的变量和简单数字类型详解
2021/09/15 Python