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实现文件路径和url相互转换的方法
Jul 06 Python
Python实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
举例讲解如何在Python编程中进行迭代和遍历
Jan 19 Python
Python使用剪切板的方法
Jun 06 Python
使用Django和Python创建Json response的方法
Mar 26 Python
在python中利用opencv简单做图片比对的方法
Jan 24 Python
运用Python的webbrowser实现定时打开特定网页
Feb 21 Python
python 标准差计算的实现(std)
Jul 29 Python
安装docker-compose的两种最简方法
Jul 30 Python
PYTHON如何读取和写入EXCEL里面的数据
Oct 28 Python
基于python实现数组格式参数加密计算
Apr 21 Python
python解析json数据
Apr 29 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中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
PHP在特殊字符前加斜杠的实现代码
2011/07/17 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
探讨:php中在foreach中使用foreach ($arr as &$value) 这种类型的解释
2013/06/24 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
2014/06/27 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
javascript attachEvent绑定多个事件执行顺序问题
2010/10/20 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
Javascript中arguments对象详解
2014/10/22 Javascript
浅析JS运动
2015/12/28 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
js图片切换具体实现代码
2016/10/13 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
详解vue项目首页加载速度优化
2017/10/18 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
JavaScript常见继承模式实例小结
2019/01/11 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
Vue自定义组件双向绑定实现原理及方法详解
2020/09/03 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
Python作用域与名字空间原理详解
2020/03/21 Python
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
关于递归的一道.NET面试题
2013/05/12 面试题
会计专业毕业生求职信分享
2014/01/03 职场文书
旅游局领导班子“四风”问题对照检查材料思想汇报
2014/09/29 职场文书
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android