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.
См. также
Примеры
>>> 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