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 (1)
Oct 31 Python
Python 文件重命名工具代码
Jul 26 Python
利用Python绘制数据的瀑布图的教程
Apr 07 Python
详解Python中的strftime()方法的使用
May 22 Python
Python微信库:itchat的用法详解
Aug 14 Python
numpy实现合并多维矩阵、list的扩展方法
May 08 Python
对python中for、if、while的区别与比较方法
Jun 25 Python
python实现大文件分割与合并
Jul 22 Python
python字典的常用方法总结
Jul 31 Python
django框架创建应用操作示例
Sep 26 Python
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
May 26 Python
python基于turtle绘制几何图形
Jun 15 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性能的21种方法介绍
2013/06/25 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
php三元运算符知识汇总
2015/07/02 PHP
CodeIgniter常用知识点小结
2016/05/26 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
CSS和Javascript简单复习资料
2010/06/29 Javascript
javascript中如何处理引号编码"
2013/08/15 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
js获取页面及个元素高度、宽度的代码
2016/04/26 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
jQuery实现文字自动横移
2017/01/08 Javascript
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
[04:14]从西雅图到上海——玩家自制DOTA2主题歌曲应援TI9
2019/07/11 DOTA
Python解惑之True和False详解
2017/04/24 Python
详解Python函数可变参数定义及其参数传递方式
2017/08/02 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
Python requests模块实例用法
2019/02/11 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
在Python中,不用while和for循环遍历列表的实例
2019/02/20 Python
Python Subprocess模块原理及实例
2019/08/26 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
Python文件操作方法详解
2020/02/09 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
HTML5移动端开发中的Viewport标签及相关CSS用法解析
2016/04/15 HTML / CSS
高山背包:High Sierra
2017/11/23 全球购物
武汉某公司的C#笔试题面试题
2015/12/25 面试题
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
营销人才自我鉴定范文
2013/12/25 职场文书
中学生学雷锋活动心得体会
2014/03/10 职场文书
水浒传读书笔记
2015/06/25 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书