pandas.read_json
-
pandas.read_json(path_or_buf=None, orient=None, typ='frame', dtype=True, convert_axes=True, convert_dates=True, keep_default_dates=True, numpy=False, precise_float=False, date_unit=None, encoding=None, lines=False, chunksize=None, compression='infer')[source] -
Преобразование JSON-строки в объект pandas
Параметры: path_or_buf : допустимая JSON-строка или файлоподобный объект, по умолчанию: None
Строка может быть URL-адресом. Поддерживаемые схемы URL включают http, ftp, s3 и file. Для URL-адресов файлов ожидается хост. Например, локальный файл может быть
file://localhost/path/to/table.jsonorient : строка,
Указание ожидаемого формата JSON-строки. Совместимые JSON-строки могут быть созданы с помощью
to_json()со соответствующим значением orient. Множество возможных значений orient:-
'split': словарь, подобный{index -> [index], columns -> [columns], data -> [values]} -
'records': список, подобный[{column -> value}, ... , {column -> value}] -
'index': словарь, подобный{index -> {column -> value}} -
'columns': словарь, подобный{column -> {index -> value}} -
'values': только массив значений
Разрешённые и значения по умолчанию зависят от значения параметра
typ.- когда
typ == 'series',- разрешённые значения orient —
{'split','records','index'} - значение по умолчанию —
'index' - Индекс Series должен быть уникальным для orient
'index'.
- разрешённые значения orient —
- когда
typ == 'frame',- разрешённые значения orient —
{'split','records','index', 'columns','values'} - значение по умолчанию —
'columns' - Индекс DataFrame должен быть уникальным для orient
'index'и'columns'. - Столбцы DataFrame должны быть уникальными для orient
'index','columns'и'records'.
- разрешённые значения orient —
typ : тип объекта для извлечения (ряд или таблица), по умолчанию ‘frame’
dtype : boolean или словарь, по умолчанию True
Если True, определить типы данных, если словарь со столбцом в типе данных, использовать эти типы, если False, не определять типы данных вообще, относится только к данным.
convert_axes : boolean, по умолчанию True
Попытка преобразования осей к правильным типам данных.
convert_dates : boolean, по умолчанию True
Список столбцов для анализа дат; Если True, то попытаться проанализировать столбцы, подобные датам, по умолчанию True; столбец считается похожим на дату, если
- он оканчивается на
'_at', - он оканчивается на
'_time', - он начинается с
'timestamp', - он является
'modified', или - он является
'date'
keep_default_dates : boolean, по умолчанию True
Если анализируются даты, то анализируются столбцы, похожие на даты по умолчанию
numpy : boolean, по умолчанию False
Прямое декодирование в массивы numpy. Поддерживаются только числовые данные, но поддерживаются и нечисловые метки столбцов и индексов. Также обратите внимание, что порядок JSON ДОЛЖЕН быть одинаковым для каждого члена, если numpy=True.
precise_float : boolean, по умолчанию False
Установите для активации использования функции с высокой точностью (strtod) при декодировании строк в значения двойной точности. По умолчанию (False) используется быстрая, но менее точная встроенная функциональность
date_unit : строка, по умолчанию None
Единица измерения временной метки для обнаружения при преобразовании дат. По умолчанию используется попытка обнаружения правильной точности, но если это нежелательно, то передайте одно из 's', 'ms', 'us' или 'ns' для принудительного анализа только секунд, миллисекунд, микросекунд или наносекунд соответственно.
lines : boolean, по умолчанию False
Чтение файла как JSON-объекта в строке.
Введено в версии 0.19.0.
encoding : str, по умолчанию ‘utf-8’
Кодировка для декодирования py3 байтов.
Введено в версии 0.19.0.
chunksize: целое число, по умолчанию None
Возвращение объекта JsonReader для итерации. См. документацию по JSON в строках для получения дополнительной информации о
chunksize. Это можно передать только еслиlines=True. Если значение None, файл будет прочитан в память сразу.Введено в версии 0.21.0.
compression : {‘infer’, ‘gzip’, ‘bz2’, ‘zip’, ‘xz’, None}, по умолчанию ‘infer’
Для сжатия данных на диске на лету. Если ‘infer’, то использовать gzip, bz2, zip или xz, если путь_или_буфер заканчивается на ‘.gz’, ‘.bz2’, ‘.zip’ или ‘xz’ соответственно, и без сжатия в противном случае. При использовании ‘zip’, ZIP-архив должен содержать только один файл данных для чтения. Установите значение None для отключения сжатия.
Введено в версии 0.21.0.
Возвращает: result : Series или DataFrame, в зависимости от значения
typ.См. также
Примеры
>>> df = pd.DataFrame([['a', 'b'], ['c', 'd']], ... index=['row 1', 'row 2'], ... columns=['col 1', 'col 2'])
Кодирование/декодирование DataFrame с использованием формата JSON
'split':>>> df.to_json(orient='split') '{"columns":["col 1","col 2"], "index":["row 1","row 2"], "data":[["a","b"],["c","d"]]}' >>> pd.read_json(_, orient='split') col 1 col 2 row 1 a b row 2 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"}}' >>> pd.read_json(_, orient='index') col 1 col 2 row 1 a b row 2 c dКодирование/декодирование DataFrame с использованием формата JSON
'records'. Обратите внимание, что метки индекса не сохраняются при использовании этой кодировки.>>> df.to_json(orient='records') '[{"col 1":"a","col 2":"b"},{"col 1":"c","col 2":"d"}]' >>> pd.read_json(_, orient='records') col 1 col 2 0 a b 1 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.21.1/generated/pandas.read_json.html