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=None, index=True)[source] -
Преобразовать объект в строку JSON.
Обратите внимание, что NaN и None будут преобразованы в null, а объекты datetime будут преобразованы в метки временных отсчётов UNIX.
Параметры: path_or_buf : строка или дескриптор файла, необязательно
Путь к файлу или объект. Если не указано, результат возвращается как строка.
orient : строка
Указание ожидаемого формата строки JSON.
-
Series
- по умолчанию ‘index’
- допустимые значения: {‘split’,’records’,’index’}
-
DataFrame
- по умолчанию ‘columns’
- допустимые значения: {‘split’,’records’,’index’,’columns’,’values’}
-
Формат строки JSON
- ‘split’ : dict, подобный {‘index’ -> [индекс], ‘columns’ -> [колонки], ‘data’ -> [значения]}
- ‘records’ : список, подобный [{колонка -> значение}, … , {колонка -> значение}]
- ‘index’ : dict, подобный {индекс -> {колонка -> значение}}
- ‘columns’ : dict, подобный {колонка -> {индекс -> значение}}
- ‘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 : int, по умолчанию 10
Количество десятичных знаков для кодирования значений с плавающей точкой.
force_ascii : boolean, по умолчанию True
Принудительно кодировать строку в ASCII.
date_unit : строка, по умолчанию ‘ms’ (миллисекунды)
Единица измерения времени для кодирования, управляет точностью метки времени и ISO8601. Одно из значений ‘s’, ‘ms’, ‘us’, ‘ns’ для секунды, миллисекунды, микросекунды и наносекунды соответственно.
default_handler : вызываемая функция, по умолчанию None
Функция, вызываемая, если объект не может быть преобразован в подходящий формат для JSON. Должна принимать один аргумент — объект для преобразования и возвращать сериализуемый объект.
lines : boolean, по умолчанию False
Если ‘orient’ равно ‘records’, записывает формат JSON с разделителями строк. Возбудит ValueError, если неправильное ‘orient’, так как другие не являются списками.
Введено в версии 0.19.0.
compression : {None, ‘gzip’, ‘bz2’, ‘zip’, ‘xz’}
Строка, представляющая сжатие, используемое в выходном файле, используется только в случае, если первый аргумент является именем файла.
Введено в версии 0.21.0.
index : boolean, по умолчанию 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.23.4/generated/pandas.DataFrame.to_json.html