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 Django批量导入不重复数据
Mar 25 Python
Python实现将一个正整数分解质因数的方法分析
Dec 14 Python
基于Python pip用国内镜像下载的方法
Jun 12 Python
python绘制立方体的方法
Jul 02 Python
python实现求两个字符串的最长公共子串方法
Jul 20 Python
Python使用pickle模块储存对象操作示例
Aug 15 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
python实现多层感知器
Jan 18 Python
正确理解Python中if __name__ == '__main__'
Jan 24 Python
flask实现验证码并验证功能
Dec 05 Python
Python3连接Mysql8.0遇到的问题及处理步骤
Feb 17 Python
Python Numpy 控制台完全输出ndarray的实现
Feb 19 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的源码中深入了解stdClass类
2014/04/18 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
实例分析PHP中PHPMailer发邮件
2017/12/13 PHP
javascript开发中因空格引发的错误
2010/11/08 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
vue绑定设置属性的多种方式(5)
2017/08/16 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
Python算法应用实战之队列详解
2017/02/04 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
python 定时器,实现每天凌晨3点执行的方法
2019/02/20 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
python如何实现单链表的反转
2020/02/10 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
生物专业个人自荐信范文
2013/11/29 职场文书
《池塘边的叫声》教学反思
2014/04/12 职场文书
交通工程专业推荐信
2014/09/06 职场文书
南京导游词
2015/02/03 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
Nginx配置Https安全认证的实现
2021/05/26 Servers
css 边框添加四个角的实现代码
2021/10/16 HTML / CSS