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中的变量、引用、拷贝和作用域的问题
Apr 07 Python
使用Python脚本将绝对url替换为相对url的教程
Apr 24 Python
python使用Image处理图片常用技巧分析
Jun 01 Python
python的pdb调试命令的命令整理及实例
Jul 12 Python
浅谈python和C语言混编的几种方式(推荐)
Sep 27 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
python开头的coding设置方法
Aug 08 Python
python为QT程序添加图标的方法详解
Mar 09 Python
python中setuptools的作用是什么
Jun 19 Python
pandas 数据类型转换的实现
Dec 29 Python
pycharm 复制代码出现空格的解决方式
Jan 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
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
php实现发送微信模板消息的方法
2015/03/07 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
关于JavaScript对象的动态选择及遍历对象
2014/03/10 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
2016/05/28 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
Vue组件为什么data必须是一个函数
2020/06/11 Javascript
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
利用Python读取文件的四种不同方法比对
2017/05/18 Python
Python中new方法的详解
2019/01/15 Python
python实现猜数游戏
2020/03/27 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
浅析pandas随机排列与随机抽样
2021/01/22 Python
Kangol帽子官网:坎戈尔袋鼠
2018/09/26 全球购物
幼儿园数学教学反思
2014/02/02 职场文书
党员干部2014全国两会学习心得体会
2014/03/10 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL