Spec-Zone.ru › pandas 2

pandas.DataFrame.to_xml

DataFrame.to_xml(path_or_buffer=None, *, index=True, root_name='data', row_name='row', na_rep=None, attr_cols=None, elem_cols=None, namespaces=None, prefix=None, encoding='utf-8', xml_declaration=True, pretty_print=True, parser='lxml', stylesheet=None, compression='infer', storage_options=None)[source]

Преобразует DataFrame в XML-документ.

Добавлена в версии 1.3.0.

Parameters:
path_or_buffer:str, path object, file-like object, or None, default None

Строка, объект пути (реализующий os.PathLike[str]), или файлоподобный объект, реализующий функцию write(). Если None, результат возвращается в виде строки.

index:bool, default True

Включать ли индекс в XML-документ.

root_name:str, default ‘data’

Имя корневого элемента в XML-документе.

row_name:str, default ‘row’

Имя элемента строки в XML-документе.

na_rep:str, optional

Представление пропущенных данных.

attr_cols:list-like, optional

Список столбцов для записи в виде атрибутов элемента строки. Иерархические столбцы будут сглажены с использованием подчеркивания для разделения разных уровней.

elem_cols:list-like, optional

Список столбцов для записи в виде дочерних элементов элемента строки. По умолчанию все столбцы выводятся в виде дочерних элементов элемента строки. Иерархические столбцы будут сглажены с использованием подчеркивания для разделения разных уровней.

namespaces:dict, optional

Все пространства имен, которые будут определены в корневом элементе. Ключами словаря должны быть имена префиксов, а значениями соответствующие URI. Должны быть заданы пространства имен по умолчанию с пустым ключом. Например,

namespaces = {"": "https://example.com"}
prefix:str, optional

Префикс пространства имен, который будет использоваться для каждого элемента и/или атрибута в документе. Он должен быть одним из ключей в словаре namespaces.

encoding:str, default ‘utf-8’

Кодировка результирующего документа.

xml_declaration:bool, default True

Включать ли объявление XML в начале документа.

pretty_print:bool, default True

Выводить ли результат в отформатированном виде с отступами и переводами строк.

parser:{‘lxml’,’etree’}, default ‘lxml’

Модуль анализатора, который следует использовать для построения дерева. Поддерживаются только ‘lxml’ и ‘etree’. С помощью ‘lxml’ поддерживается возможность использования XSLT-стилей.

stylesheet:str, path object or file-like object, optional

URL, файлоподобный объект или строка, содержащая скрипт XSLT, используемый для преобразования исходного XML-выхода. Скрипт должен использовать макет элементов и атрибутов из исходного вывода. Для этого аргумента требуется установка lxml. В настоящее время поддерживаются только скрипты XSLT 1.0, а не более поздних версий.

compression:str or dict, default ‘infer’

Для сжатия данных вывода на лету. Если ‘infer’ и ‘path_or_buffer’ — путь, то обнаруживает сжатие по следующим расширениям: ‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’, ‘.zst’, ‘.tar’, ‘.tar.gz’, ‘.tar.xz’ или ‘.tar.bz2’ (иначе сжатие не используется). Установите в None для отсутствия сжатия. Также может быть словарем с ключом 'method', установленным в одном из значений {'zip', 'gzip', 'bz2', 'zstd', 'xz', 'tar'}, и другие пары ключ-значение передаются в zipfile.ZipFile, gzip.GzipFile, bz2.BZ2File, zstandard.ZstdCompressor, lzma.LZMAFile или tarfile.TarFile, соответственно. В качестве примера, для более быстрого сжатия и создания воспроизводимого gzip-архива можно передать: compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}.

Новое в версии 1.5.0: Добавлена поддержка файлов .tar.

Изменено в версии 1.4.0: Поддержка Zstandard.

storage_options:dict, optional

Дополнительные параметры, которые подходят для определенного подключения к хранилищу, например, хост, порт, имя пользователя, пароль и т. д. Для HTTP(S) URL пары ключ-значение передаются в urllib.request.Request в качестве параметров заголовка. Для других URL (например, начинающихся с «s3://», и «gcs://») пары ключ-значение передаются в fsspec.open. Подробнее см. fsspec и urllib, а более подробные примеры параметров хранения см. здесь.

Returns:
None or str

Если io равно None, возвращает результирующий XML-формат в виде строки. В противном случае возвращает None.

См. также

to_json

Преобразовать pandas-объект в JSON-строку.

to_html

Преобразовать DataFrame в HTML.

Примеры

>>> df = pd.DataFrame({'shape': ['square', 'circle', 'triangle'],
...                    'degrees': [360, 360, 180],
...                    'sides': [4, np.nan, 3]})
>>> df.to_xml()  
<?xml version='1.0' encoding='utf-8'?>
<data>
  <row>
    <index>0</index>
    <shape>square</shape>
    <degrees>360</degrees>
    <sides>4.0</sides>
  </row>
  <row>
    <index>1</index>
    <shape>circle</shape>
    <degrees>360</degrees>
    <sides/>
  </row>
  <row>
    <index>2</index>
    <shape>triangle</shape>
    <degrees>180</degrees>
    <sides>3.0</sides>
  </row>
</data>
>>> df.to_xml(attr_cols=[
...           'index', 'shape', 'degrees', 'sides'
...           ])  
<?xml version='1.0' encoding='utf-8'?>
<data>
  <row index="0" shape="square" degrees="360" sides="4.0"/>
  <row index="1" shape="circle" degrees="360"/>
  <row index="2" shape="triangle" degrees="180" sides="3.0"/>
</data>
>>> df.to_xml(namespaces={"doc": "https://example.com"},
...           prefix="doc")  
<?xml version='1.0' encoding='utf-8'?>
<doc:data xmlns:doc="https://example.com">
  <doc:row>
    <doc:index>0</doc:index>
    <doc:shape>square</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides>4.0</doc:sides>
  </doc:row>
  <doc:row>
    <doc:index>1</doc:index>
    <doc:shape>circle</doc:shape>
    <doc:degrees>360</doc:degrees>
    <doc:sides/>
  </doc:row>
  <doc:row>
    <doc:index>2</doc:index>
    <doc:shape>triangle</doc:shape>
    <doc:degrees>180</doc:degrees>
    <doc:sides>3.0</doc:sides>
  </doc:row>
</doc:data>

© 2008–2022, 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/2.2.2/reference/api/pandas.DataFrame.to_xml.html

Spec-Zone.ru

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