2. Json
read_json
能够读取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)
path_or_buf
:一个字符串或者一个file-like
对象。如果是个字符串,则必须是个URL
(其中包含了协议名,如http//,ftp//,file//
等)orient
:一个字符串,指定了期望的JSON
格式。可选的格式有(参考to_json
的实例):'split'
:JSON
是个类似字典的格式:{index -> [index], columns -> [columns], data -> [values]}
'records'
:JSON
是个类似列表的格式:[{column -> value}, ... , {column -> value}]
'index'
:JSON
是个类似字典的格式{index -> {column -> value}}
'columns'
:JSON
是个类似字典的格式{column -> {index -> value}}
'values'
:JSON
就是值的序列
注意:如果
type=='series'
,则允许的'orients= {'split','records','index'}
,默认为'index'
,且如果为'index'
,则要求索引为唯一的。如果type=='frame'
,则允许上所有的格式,默认为'columns'
,且如果为'index'/'columns'
,则要求DataFrame.index
为唯一的;如果'index'/'columns'/'records'
,则要求DataFrame.columns
为唯一的typ
:一个字符串,指定将JSON
转换为Series/DataFrame
那一种。可以为'series'
,’frame'
dtype
:一个布尔值或者字典。如果为True
,则自动推断数值类型。如果为False
,则不推断类型。如果为字典,则给出了每一列的数值类型convert_axes
:一个布尔值,如果为True
,则试图转换到合适的数值类型convert_dates
:一个布尔值,如果为True
,则试图转换日期列为日期。它转换下面这些列名的列:列名以'_at'/'_time'
结束、列名以'timestamp'
开始、列名为'mofified'/'date'
keep_default_dates
:一个布尔值。如果为True
,则当转换日期列时,保留原列numpy
:一个布尔值,如果为True
,则直接转换为ndarray
precise_float
:一个布尔值,如果为True
,则使用解析为更高精度的浮点数date_unit
:一个字符串。用于转换时间戳到日期。它提供时间戳的单位,如's'/'ms'
lines
:一个布尔值。如果为True
,则读取文件的每一行作为一个JSON
-encoding
:一个字符串,指定编码方式
将
pandas
对象保存成JSON
:Series/DataFrame.to_json(path_or_buf=None, orient=None, date_format='epoch',
double_precision=10, force_ascii=True, date_unit='ms', default_handler=None,
lines=False)
path_or_buf
:指定保存的地方。如果为None
,则该函数返回一个StringIO
对象orient
参数:参考read_json()
date_format
:一个字符串,指定日期转换格式。可以为'epoch'
(从1970-1-1
日以来的毫秒数)、'iso'
double_precision
:一个整数,指定了浮点数的精度force_ascii
:一个布尔值,如果为True
,则将encoded string
转换成ASCII
date_unit
:一个字符串,参考read_json
default_handler
:一个可调用对象。用于处理当对象无法转换成JSON
的情况。它只有一个参数,就是被转换的对象lines
:一个布尔值。如果orient='records'
时,输出换行符。对其他格式则抛出异常