Spec-Zone.ru › pandas 0.20

pandas.DataFrame.to_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) [source]

Преобразовать объект в строку JSON.

Обратите внимание, что NaN и None будут преобразованы в null, а объекты datetime будут преобразованы в метки времени Unix.

Параметры:

path_or_buf : путь или буфер для записи результирующей строки

если это None, вернуть StringIO с преобразованной строкой

orient : строка

  • Series

    • по умолчанию ‘index’
    • разрешённые значения: {‘split’,’records’,’index’}
  • DataFrame

    • по умолчанию ‘columns’
    • разрешённые значения: {‘split’,’records’,’index’,’columns’,’values’}
  • Формат строки JSON

    • split : dict, подобный {index -> [index], columns -> [columns], data -> [values]}
    • records : список, подобный [{column -> value}, ... , {column -> value}]
    • index : dict, подобный {index -> {column -> value}}
    • columns : dict, подобный {column -> {index -> value}}
    • values : только массив значений
    • table : dict, подобный {‘schema’: {схема}, ‘data’: {данные}}, описывающий данные, а компонент данных похож на orient='records'.

      Изменено в версии 0.20.0.

date_format : {None, ‘epoch’, ‘iso’}

Тип преобразования даты. epoch = эпоха в миллисекундах, iso = ISO8601. Значение по умолчанию зависит от orient. Для orient=’table’, значение по умолчанию ‘iso’. Для всех других orient, значение по умолчанию ‘epoch’.

double_precision : количество десятичных знаков для использования при кодировании

значений с плавающей запятой, по умолчанию 10.

force_ascii : принудительно кодировать строку в ASCII, по умолчанию True.

date_unit : строка, по умолчанию ‘ms’ (миллисекунды)

Единица времени для кодирования, управляет точностью временных меток и ISO8601. Одно из значений: ‘s’, ‘ms’, ‘us’, ‘ns’ для секунд, миллисекунд, микросекунд и наносекунд соответственно.

default_handler : вызываемый объект, по умолчанию None

Обработчик, вызываемый, если объект не может быть преобразован в подходящий формат JSON. Должен принять один аргумент, который является объектом для преобразования, и вернуть сериализуемый объект.

lines : boolean, по умолчанию False

Если ‘orient’ равен ‘records’, записывать JSON в формате с разделителями строк. Будет выброшено исключение ValueError, если ‘orient’ некорректен, так как другие не являются похожими на списки.

Добавлена в версии 0.19.0.

Возвращает:

объект того же типа, что и входной объект, с отфильтрованными индексными осями

См. также

pd.read_json

Примеры

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

Кодирование/декодирование DataFrame с использованием JSON в формате 'index':

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

Кодирование/декодирование DataFrame с использованием JSON в формате 'records'. Обратите внимание, что метки индексов не сохраняются при этом кодировании.

>>> df.to_json(orient='records')
'[{"col 1":"a","col 2":"b"},{"col 1":"c","col 2":"d"}]'

Кодирование со схемой таблицы

>>> df.to_json(orient='table')
'{"schema": {"fields": [{"name": "index", "type": "string"},
                        {"name": "col 1", "type": "string"},
                        {"name": "col 2", "type": "string"}],
             "primaryKey": "index",
             "pandas_version": "0.20.0"},
  "data": [{"index": "row 1", "col 1": "a", "col 2": "b"},
           {"index": "row 2", "col 1": "c", "col 2": "d"}]}'

© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.20.3/generated/pandas.DataFrame.to_json.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API