python转json的函数_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"}]}'

以上这篇pandas.dataframe.to_json按行转json的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持萬仟网。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值