DataFrame转化为json的方法教程
Posted yqj234
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataFrame转化为json的方法教程相关的知识,希望对你有一定的参考价值。
网络上有好多的教程,讲得不太清楚和明白,我用实际的例子说明了一下内容,附档代码,方便理解和使用
DataFrame.to_json(path_or_buf=None, orient=None, date_format=None, double_precision=10, force_ascii=True, date_unit='ms', default_handler=None, lines=False, compression='infer', index=True, indent=None) [source]
将对象转换为JSON
字符串。
注意:NaN
和None
将被转换为null
, datetime
对象将被转换为UNIX时间戳。
参数: | path_or_buf : 文件路径或对象。如果未指定,则结果以字符串形式返回。 orient : 预期的JSON字符串格式的指示。 1) Series: 默认值为 允许的值为: 2) DataFrame: 默认为 允许的值为:
3) JSON字符串格式:
描述数据,其中数据成分类似于 在版本0.20.0中更改。 date_format : 日期转换的类型。
对于 对于所有其他东方,默认值为 double_precision : 在对浮点值进行编码时要使用的小数位数。 force_ascii : 强制将字符串编码为 date_unit : 要编码的时间单位,控制时间戳和ISO8601精度。
default_handler :callable, 默认为 如果对象不能转换为适合JSON的格式,则调用。 应该接收一个参数,该参数是要转换的对象并返回一个可序列化对象。 lines : 如果 如果不正确的 compression : 表示要在输出文件中使用的压缩的字符串, 仅在第一个参数是文件名时使用。默认情况下, 压缩是从文件名推断出来的。 在0.24.0版本中更改:增加了 index : 是否在JSON字符串中包括索引值。 仅当 才支持不包括index( 0.23.0版中的新功能。 indent : 用于缩进每条记录的空白长度。 1.0.0版的新功能。。 |
返回值: |
如果 则将生成的 否则返回 |
Notes
indent=0
的行为与stdlib不同,stdlib不会缩进输出,但会插入新行。目前,在panda中,indent=0
和默认的indent=None
是等价的,不过在将来的版本中可能会更改。
df = pd.DataFrame( [["A0001", "张三"], ["A0002", "李四"]], index=["row 1", "row 2"],columns=["工号", "姓名"] )
print('-------------------------------------------')
print(df)
print('index')
print(df.to_json(orient='index',force_ascii=False))
print('columns')
print(df.to_json(orient='columns',force_ascii=False))
print('split')
print(df.to_json(orient='split',force_ascii=False))
print('records')
print(df.to_json(orient='records',force_ascii=False))
mydate="parts":df.to_json(orient='records',force_ascii=False)
print(mydate)
print('table')
print(df.to_json(orient='table',force_ascii=False))
print('values')
print(df.to_json(orient='values',force_ascii=False))
print('-------------------------------------------')
#遍历
for index, row in df.iterrows():
print(index)
print(row)
输出内容,理解转化在json的内容的逻辑
-------------------------------------------
工号 姓名
row 1 A0001 张三
row 2 A0002 李四
index
"row 1":"工号":"A0001","姓名":"张三","row 2":"工号":"A0002","姓名":"李四"
columns
"工号":"row 1":"A0001","row 2":"A0002","姓名":"row 1":"张三","row 2":"李四"
split
"columns":["工号","姓名"],"index":["row 1","row 2"],"data":[["A0001","张三"],["A0002","李四"]]
records
["工号":"A0001","姓名":"张三","工号":"A0002","姓名":"李四"]
'parts': '["工号":"A0001","姓名":"张三","工号":"A0002","姓名":"李四"]'
table
"schema":"fields":["name":"index","type":"string","name":"工号","type":"string","name":"姓名","type":"string"],"primaryKey":["index"],"pandas_version":"1.4.0","data":["index":"row 1","工号":"A0001","姓名":"张三","index":"row 2","工号":"A0002","姓名":"李四"]
values
[["A0001","张三"],["A0002","李四"]]
-------------------------------------------
row 1
工号 A0001
姓名 张三
Name: row 1, dtype: object
row 2
工号 A0002
姓名 李四
Name: row 2, dtype: object
以上是关于DataFrame转化为json的方法教程的主要内容,如果未能解决你的问题,请参考以下文章
python如何将dataframe转化为 想要的json格式
Python将str强制转化为dict,完成json格式数据转存为Excel
Pandas使用split函数基于指定分隔符拆分数据列的内容为列表设置expand参数将拆分结果列表内容转化为多列dataframe(不设置参数n则列表长度不同较短的列表会出现缺失值)