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.
- Параметры
-
- path_or_buffer:str, объект пути, файл-подобный объект или None, по умолчанию None
-
Строка, объект пути (реализующий
os.PathLike[str]), или файл-подобный объект, реализующий функциюwrite(). Если None, результат возвращается как строка. - index:bool, по умолчанию True
-
Включать ли индекс в XML-документ.
- root_name:str, по умолчанию ‘data’
-
Имя корневого элемента в XML-документе.
- row_name:str, по умолчанию ‘row’
-
Имя элемента строки в XML-документе.
- na_rep:str, необязательно
-
Представление отсутствующих данных.
- attr_cols:list-like, необязательно
-
Список столбцов для записи в качестве атрибутов в элементе строки. Иерархические столбцы будут сглажены с использованием подчеркивания в качестве разделителя разных уровней.
- elem_cols:list-like, необязательно
-
Список столбцов для записи в качестве дочерних элементов в элементе строки. По умолчанию все столбцы выводятся как дочерние элементы элемента строки. Иерархические столбцы будут сглажены с использованием подчеркивания в качестве разделителя разных уровней.
- namespaces:dict, необязательно
-
Все пространства имён, которые должны быть определены в корневом элементе. Ключи словаря должны быть именами префиксов, а значения словаря — соответствующими URI. Должны быть указаны пространства имён по умолчанию с ключом пустой строки. Например,
namespaces = {"": "https://example.com"} - prefix:str, необязательно
-
Префикс пространства имён, который будет использоваться для каждого элемента и/или атрибута в документе. Он должен быть одним из ключей в словаре
namespaces. - encoding:str, по умолчанию ‘utf-8’
-
Кодировка результирующего документа.
- xml_declaration:bool, по умолчанию True
-
Включать ли XML-декларацию в начале документа.
- pretty_print:bool, по умолчанию True
-
Выводить ли отформатированный вывод с отступами и разрывами строк.
- parser:{‘lxml’,’etree’}, по умолчанию ‘lxml’
-
Модуль парсера, который нужно использовать для построения дерева. Поддерживаются только ‘lxml’ и ‘etree’. С помощью ‘lxml’ поддерживается возможность использования XSLT-стилей.
- stylesheet:str, объект пути или файл-подобный объект, необязательно
-
URL, файл-подобный объект или необработанная строка, содержащая скрипт XSLT, используемый для преобразования необработанного XML-вывода. Сценарий должен использовать макет элементов и атрибутов из исходного вывода. Этот аргумент требует установки
lxml. В настоящее время поддерживаются только скрипты XSLT 1.0, а не более поздних версий. - compression:str или dict, по умолчанию ‘infer’
-
Для сжатия выходных данных на лету. Если ‘infer’ и ‘path_or_buffer’ — ссылка на файл, то определить сжатие по следующим расширениям: ‘.gz’, ‘.bz2’, ‘.zip’, ‘.xz’, ‘.zst’, ‘.tar’, ‘.tar.gz’, ‘.tar.xz’ или ‘.tar.bz2’ (иначе сжатие не используется). Установить в значение
Noneдля отсутствия сжатия. Также может быть словарем с ключом'method', установленным в одно из значений {'zip','gzip','bz2','zstd','tar'}, и другие пары ключ-значение передаютсяzipfile.ZipFile,gzip.GzipFile,bz2.BZ2File,zstandard.ZstdCompressorилиtarfile.TarFile, соответственно. Например, для более быстрого сжатия и создания воспроизводимого gzip-архива можно передать следующее:compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}.Новое в версии 1.5.0: Добавлена поддержка файлов .tar.
Изменено в версии 1.4.0: Поддержка Zstandard.
- storage_options:dict, необязательно
-
Дополнительные параметры, которые имеют смысл для конкретного соединения хранения, например, хост, порт, имя пользователя, пароль и т. д. Для HTTP(S) URL-адресов пары ключ-значение передаются в
urllib.request.Requestв качестве параметров заголовка. Для других URL-адресов (например, начинающихся с “s3://” и “gcs://”) пары ключ-значение передаются вfsspec.open. Подробнее см.fsspecиurllib, а более подробные примеры параметров хранения см. здесь.
- Возвращает
-
- None или 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/1.5.0/reference/api/pandas.DataFrame.to_xml.html