pandas.DataFrame.to_xml#

DataFrame.to_xml(path_or_buffer=None, *, index=True, root_name='data', row_name='строка', na_rep=None, attr_cols=None, elem_cols=None, пространства имён=None, префикс=None, кодировка='utf-8', xml_declaration=True, pretty_print=True, parser='lxml', stylesheet=None, compression='infer', storage_options=None)[источник]#

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

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

Параметры:
path_or_bufferstr, объект пути, файлоподобный объект или None, по умолчанию None

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

indexbool, по умолчанию True

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

root_namestr, по умолчанию 'data'

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

row_namestr, по умолчанию ‘row’

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

na_repstr, optional

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

attr_colsподобный списку, опционально

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

elem_colsподобный списку, опционально

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

пространства имёнdict, optional

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

namespaces = {"": "https://example.com"}
префиксstr, optional

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

кодировкаstr, по умолчанию ‘utf-8’

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

xml_declarationbool, по умолчанию True

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

pretty_printbool, по умолчанию True

Должен ли вывод быть красиво отформатирован с отступами и переносами строк.

parser{‘lxml’,’etree’}, по умолчанию ‘lxml’

Модуль парсера для построения дерева. Поддерживаются только 'lxml' и 'etree'. С 'lxml' поддерживается возможность использования таблицы стилей XSLT.

stylesheetstr, path object или file-like object, опционально

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

compressionстрока или словарь, по умолчанию ‘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_optionsdict, optional

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

Возвращает:
None или str

Если io is 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()  


  
    0
    square
    360
    4.0
  
  
    1
    circle
    360
    
  
  
    2
    triangle
    180
    3.0
  

>>> df.to_xml(attr_cols=[
...           'index', 'shape', 'degrees', 'sides'
...           ])  


  
  
  

>>> df.to_xml(namespaces={"doc": "https://example.com"},
...           prefix="doc")  


  
    0
    square
    360
    4.0
  
  
    1
    circle
    360
    
  
  
    2
    triangle
    180
    3.0