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赋值操作方法分享
Mar 23 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
Apr 25 Python
Python自动重试HTTP连接装饰器
Apr 28 Python
Python时间的精准正则匹配方法分析
Aug 17 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
Apr 26 Python
python读取txt文件,去掉空格计算每行长度的方法
Dec 20 Python
解决Djang2.0.1中的reverse导入失败的问题
Aug 16 Python
python图形开发GUI库wxpython使用方法详解
Feb 14 Python
详解Anaconda 的安装教程
Sep 23 Python
Matlab使用Plot函数实现数据动态显示方法总结
Feb 25 Python
Python函数中的不定长参数相关知识总结
Jun 24 Python
Python实现归一化算法详情
Mar 18 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开发注意事项总结
2015/02/04 PHP
Gambit vs CL BO3 第三场 2.13
2021/03/10 DOTA
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
jquery中的查找parents与closest方法之间的区别
2013/12/02 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
禁用backspace网页回退功能的实现代码
2016/11/15 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
在Vue中获取组件声明时的name属性方法
2018/09/12 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
python飞机大战pygame碰撞检测实现方法分析
2019/12/17 Python
解决pytorch 交叉熵损失输出为负数的问题
2020/07/07 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
经典导游欢迎词大全
2014/01/16 职场文书
六一节目主持词
2014/04/01 职场文书
领导班子“四风问题”“整改方案
2014/10/02 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
小学生优秀评语
2014/12/29 职场文书
特岗教师个人总结
2015/02/10 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
《悲惨世界》:比天空更广阔的是人的心灵
2020/01/16 职场文书