当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python 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)

将 DataFrame 渲染到 XML 文档。

参数

path_or_bufferstr,路径对象,file-like 对象,或无,默认无

字符串、路径对象(实现 os.PathLike[str] )或实现 write() 函数的 file-like 对象。如果为 None,则结果以字符串形式返回。

index布尔值,默认为真

是否在 XML 文档中包含索引。

root_namestr,默认 ‘data’

XML 文档中根元素的名称。

row_namestr,默认 ‘row’

XML 文档中行元素的名称。

na_repstr,可选

缺少数据表示。

attr_colslist-like,可选

在行元素中作为属性写入的列列表。分层列将被展平,下划线分隔不同级别。

elem_colslist-like,可选

在行元素中作为子项写入的列列表。默认情况下,所有列都作为行元素的子元素输出。分层列将被展平,下划线分隔不同级别。

namespaces字典,可选

要在根元素中定义的所有命名空间。 dict 的键应该是 dict 对应 URI 的前缀名称和值。默认命名空间应该被赋予空字符串键。例如,

namespaces = {"":"https://example.com"}
prefixstr,可选

用于文档中每个元素和/或属性的命名空间前缀。这应该是namespaces dict 中的键之一。

encodingstr,默认“utf-8”

结果文档的编码。

xml_declaration布尔值,默认为真

是否在文档开头包含 XML 声明。

pretty_print布尔值,默认为真

输出是否应该带有缩进和换行符。

parser{‘lxml’,'etree'},默认 ‘lxml’

用于构建树的解析器模块。仅支持 ‘lxml’ and ‘etree’。通过‘lxml’,支持使用 XSLT 样式表的能力。

stylesheetstr,路径对象或file-like 对象,可选

URL、file-like 对象或包含用于转换原始 XML 输出的 XSLT 脚本的原始字符串。脚本应使用原始输出中的元素和属性的布局。此参数需要安装lxml。当前仅支持 XSLT 1.0 脚本,不支持更高版本。

compressionstr 或 dict,默认 ‘infer’

用于输出数据的即时压缩。如果 ‘infer’ 和 ‘path_or_buffer’ path-like,则检测来自以下扩展名的压缩:'.gz'、'.bz2'、'.zip'、'.xz' 或 '.zst'(否则不压缩) .调成None无压缩。也可以是带键的字典'method'设置为 { 之一'zip','gzip','bz2','zstd'} 和其他键值对被转发到zipfile.ZipFile,gzip.GzipFile,bz2.BZ2File, 或者zstandard.ZstdDecompressor, 分别。例如,可以传递以下内容以加快压缩速度并创建可重现的 gzip 存档:compression={'method':'gzip', 'compresslevel':1, 'mtime':1}.

storage_options字典,可选

对特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等。对于 HTTP(S) URL,键值对作为标头选项转发到 urllib。对于其他 URL(例如以 “s3://” 和 “gcs://” 开头),键值对被转发到 fsspec 。有关详细信息,请参阅fsspecurllib

返回

无或字符串

如果 io 为 None,则将生成的 XML 格式作为字符串返回。否则返回无。

例子

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

相关用法


注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.to_xml。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。