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.
См. также
Примеры
>>> 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