Spec-Zone.ru › pandas 0.23

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.json

orient : строка,

Указание ожидаемого формата строки 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'.
  • когда typ == 'frame',
    • разрешенные значения orient — {'split','records','index', 'columns','values', 'table'}
    • значение по умолчанию — 'columns'
    • Индекс DataFrame должен быть уникальным для orient 'index' и 'columns'.
    • Столбцы DataFrame должны быть уникальными для orient 'index', 'columns' и 'records'.

Новое в версии 0.23.0: ‘table’ как допустимое значение для аргумента orient

typ : type of object to recover (series or frame), default ‘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) при декодировании строк в значения double. По умолчанию (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, если path_or_buf — строка, заканчивающаяся на ‘.gz’, ‘.bz2’, ‘.zip’ или ‘xz’ соответственно, и без сжатия в противном случае. При использовании ‘zip’, ZIP-файл должен содержать только один файл данных, который будет считываться. Установите значение None для отказа от сжатия.

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

Возвращает:
result : Series or DataFrame, depending on the value of typ.

См. также

DataFrame.to_json

Примечания

Специфично для orient='table', если DataFrame с литеральным Index именем index записывается с помощью to_json(), последующая операция чтения неправильно установит Index имя на None. Это происходит потому, что index также используется DataFrame.to_json() для обозначения отсутствующего Index имени, и последующая операция read_json() не может отличить одно от другого. Такое же ограничение встречается с MultiIndex и любыми именами, начинающимися с 'level_'.

Примеры

>>> 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.23.4/generated/pandas.read_json.html

Spec-Zone.ru

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