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