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的值。
也可以看看
例子
>>> 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