Spec-Zone.ru › pandas 0.24

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, compression='infer', index=True) [source]

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

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

Параметры:
path_or_buf : string or file handle, optional

Путь к файлу или объект. Если не указано, результат возвращается как строка.

orient : string

Указание ожидаемого формата строки JSON.

  • Ряд

    • По умолчанию используется ‘index’
    • Допустимые значения: {‘split’,’records’,’index’,’table’}
  • Таблица DataFrame

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

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

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

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

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

double_precision : int, default 10

Количество десятичных знаков для кодирования чисел с плавающей точкой.

force_ascii : bool, default True

Принудительно кодировать строку в ASCII.

date_unit : string, default ‘ms’ (milliseconds)

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

default_handler : callable, default None

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

lines : bool, default False

Если ‘orient’ равно ‘records’, записывать строку JSON с разделителями строк. Вызовет ValueError, если ‘orient’ неверный, так как другие не похожи на список.

Новое в версии 0.19.0.

compression : {‘infer’, ‘gzip’, ‘bz2’, ‘zip’, ‘xz’, None}

Строка, представляющая сжатие для использования в выходном файле, используется только в том случае, если первый аргумент — имя файла. По умолчанию сжатие определяется из имени файла.

Новое в версии 0.21.0.

Изменено в версии 0.24.0: Добавлен параметр ‘infer’ и установлен по умолчанию

index : bool, default True

Включать ли значения индекса в строку JSON. Не включать индекс (index=False) поддерживается только при orient равном ‘split’ или ‘table’.

Новое в версии 0.23.0.

См. также

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 'records'. Обратите внимание, что метки индексов при таком кодировании не сохраняются.

>>> df.to_json(orient='records')
'[{"col 1":"a","col 2":"b"},{"col 1":"c","col 2":"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 'columns'.

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

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

>>> df.to_json(orient='values')
'[["a","b"],["c","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.24.2/reference/api/pandas.DataFrame.to_json.html

Spec-Zone.ru

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