pandas.DataFrame.to_json按行转json的方法

 更新时间:2018年06月05日 09:42:51   作者:huanbia  
今天小编就为大家分享一篇pandas.DataFrame.to_json按行转json的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

最近需要将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中拆分具有多个分隔符的字符串方法实例

    str.split()是Python中字符串类型的一个方法,可以用来将字符串按照指定的分隔符分割成多个子字符串,这篇文章主要给大家介绍了关于Python中拆分具有多个分隔符的字符串的相关资料,需要的朋友可以参考下
    2023-04-04
  • 一文搞懂Python的函数传参机制

    一文搞懂Python的函数传参机制

    最近写了Python函数的功能,犯了一些错误。所以本文主要和大家一起梳理下Python函数的传参机制,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-07-07
  • python 基于selenium实现鼠标拖拽功能

    python 基于selenium实现鼠标拖拽功能

    这篇文章主要介绍了python 基于selenium实现鼠标拖拽功能的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • flask结合jinja2使用详解

    flask结合jinja2使用详解

    本文主要介绍了flask结合jinja2使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python创建Excel表和读取Excel表的基本操作

    Python创建Excel表和读取Excel表的基本操作

    这篇文章主要介绍了Python创建Excel表和读取Excel表的基本操作,文中通过代码示例和图文结合的方式讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-07-07
  • Python实现分段读取和保存遥感数据

    Python实现分段读取和保存遥感数据

    当遇到批量读取大量遥感数据进行运算的时候,如果不进行分段读取操作的话,电脑内存可能面临着不够使用的情况,所以我们要进行分段读取数据然后进行运算,运算结束之后把这段数据保存成tif文件,本文介绍了Python实现分段读取和保存遥感数据,需要的朋友可以参考下
    2023-08-08
  • Python实现直播推流效果

    Python实现直播推流效果

    这篇文章主要介绍了Python实现直播推流效果,主要是通过opencv读取视频对视频分割为帧,本文通过实例代码讲解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • 详解用Python进行时间序列预测的7种方法

    详解用Python进行时间序列预测的7种方法

    这篇文章主要介绍了详解用Python进行时间序列预测的7种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • python文件操作之批量修改文件后缀名的方法

    python文件操作之批量修改文件后缀名的方法

    这篇文章主要介绍了python文件操作之批量修改文件后缀名,需要的朋友可以参考下
    2018-08-08
  • Python爬虫之使用BeautifulSoup和Requests抓取网页数据

    Python爬虫之使用BeautifulSoup和Requests抓取网页数据

    这篇文章主要介绍了Python爬虫之使用BeautifulSoup和Requests抓取网页数据,本篇文章将介绍如何使用 Python 编写一个简单的网络爬虫,从网页中提取有用的数据,需要的朋友可以参考下
    2023-04-04

最新评论