pandas.read_json

pandas.read_json(path_or_buf=None, orient=None, typ='frame', dtype=True, convert_axes=True, convert_dates=True, keep_default_dates=True, numpy=False, precise_float=False, date_unit=None, encoding=None, lines=False)[source]

将JSON字符串转换为pandas对象

参数:

path_or_buf:有效的JSON字符串或类似文件,默认值:无

字符串可以是URL。有效的URL方案包括http,ftp,s3和file。对于文件URL,需要主机。例如,本地文件可以是file://localhost/path/to/table.json

orient:string,

指示预期的JSON字符串格式。可以通过to_json()生成兼容的JSON字符串,并使用相应的定向值。可能的orients集合是:

  • 'split' : dict like {index -> [index], columns -> [columns], data -> [values]}
  • 'records':列表像[{column - > value}, 。 .. {column - > value}]
  • 'index':dict like {index - > {column value}}
  • 'columns':dict like {column - > {index value}}
  • 'values':只是values数组

允许值和默认值取决于typ参数的值。

  • typ == 'series'
    • 允许的对象是{'split','records','index'}
    • 默认为'index'
    • 对于orient 'index',系列索引必须是唯一的。
  • typ == 'frame'
    • 允许的对象是{'split','records','index', 'columns','values'}
    • 默认为'columns'
    • 对于'index''columns',DataFrame索引必须是唯一的。
    • 对于'index''columns''records',DataFrame列必须是唯一的。

typ:要恢复的对象类型(系列或框架),默认'frame'

dtype:boolean或dict,default True

如果为True,推断dtypes,如果一个字段的列到dtype,那么使用那些,如果False,那么不推断dtypes,只适用于数据。

convert_axes:boolean,default True

尝试将轴转换为正确的类型。

convert_dates:boolean,default True

解析日期的列列表;如果为True,则尝试解析datelike列,默认为True;列标签是datelike if

  • 它以'_at'结束,
  • 它以'_time'结尾,
  • 它从'timestamp'开始,
  • 它是'modified',或
  • 它是'date'

keep_default_dates:boolean,default True

如果解析日期,则解析默认的类型列

numpy:boolean,default False

直接解码为numpy数组。仅支持数字数据,但支持非数字列和索引标签。还要注意,如果numpy = True,JSON订单必须对每个术语都是相同的。

precise_float:boolean,default False

设置为在将字符串解码为双精度值时启用更高精度(strtod)函数的使用。默认(False)是使用快速但不太精确的内置功能

date_unit:string,default无

用于检测转换日期的时间戳单位。默认行为是尝试并检测正确的精度,但如果不需要,则通过's','ms','us'或'ns'之一来分别强制解析秒,毫秒,微秒或纳秒。

:boolean,default False

作为每行的json对象读取文件。

版本0.19.0中的新功能。

encoding:str,default is'utf-8'

用于解码py3字节的编码。

版本0.19.0中的新功能。

返回:

结果:系列或DataFrame,取决于typ的值。

也可以看看

DataFrame.to_json

例子

>>> df = pd.DataFrame([['a', 'b'], ['c', 'd']],
...                   index=['row 1', 'row 2'],
...                   columns=['col 1', 'col 2'])

使用'split'格式化JSON对数据帧进行编码/解码:

>>> df.to_json(orient='split')
'{"columns":["col 1","col 2"],
  "index":["row 1","row 2"],
  "data":[["a","b"],["c","d"]]}'
>>> pd.read_json(_, orient='split')
      col 1 col 2
row 1     a     b
row 2     c     d

使用'index'格式化JSON对数据帧进行编码/解码:

>>> df.to_json(orient='index')
'{"row 1":{"col 1":"a","col 2":"b"},"row 2":{"col 1":"c","col 2":"d"}}'
>>> pd.read_json(_, orient='index')
      col 1 col 2
row 1     a     b
row 2     c     d

使用'records'格式化的JSON对Dataframe进行编码/解码。请注意,此编码不会保留索引标签。

>>> df.to_json(orient='records')
'[{"col 1":"a","col 2":"b"},{"col 1":"c","col 2":"d"}]'
>>> pd.read_json(_, orient='records')
  col 1 col 2
0     a     b
1     c     d
Scroll To Top