當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。