2. Json

  1. read_json能够读取Json文件:

    1. pandas.read_json(path_or_buf=None, orient=None, typ='frame', dtype=True,
    2. convert_axes=True, convert_dates=True, keep_default_dates=True, numpy=False,
    3. 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:一个字符串,指定编码方式

    read_json

  2. pandas对象保存成JSON

    1. Series/DataFrame.to_json(path_or_buf=None, orient=None, date_format='epoch',
    2. double_precision=10, force_ascii=True, date_unit='ms', default_handler=None,
    3. 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'时,输出换行符。对其他格式则抛出异常

    to_json