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


Python Excel轉XML Format用法及代碼示例


當需要將文件從一種格式轉換為另一種格式時,Python 被證明是一種強大的語言。它支持可用於輕鬆實現函數的工具。在本文中,我們將了解如何使用 Python 將 Excel 文件轉換為可擴展術語 (XML) 文件。

所需模塊

  • OpenPyXL有助於與 Excel 文件交互。它可以讀取和寫入 .xlsx 和 .xlsm 文件,並且可以安裝為:

pip install openpyxl

  • 亞塔格是一個 Python 庫,用於使用 Python 以非常可讀的方式生成 HTML 或 XML 文檔。這個 Yattag 庫非常簡單且易於使用。如果您正在尋找任何庫以便更輕鬆地生成 HTML 或 XML 文檔。

pip install yattag

需要的函數

  • 加載 Excel 文件的內容load_workbook()使用OpenPyXl的方法。
  • 迭代加載的文件並讀取數據Iter_rows()使用適當的屬性
用法:Iter_rows(min_col, min_row, max_col, max_row, values_only)

參數:

  • min_col(整數)- 最小列值(從 1 開始的索引)
  • min_row(整數)- 最小行值(從 1 開始的索引)
  • max_col(整數)- 最大列值(從 1 開始的索引)
  • Max_row(整數)- 最大行值(從 1 開始的索引)
  • values_only(布爾)- 是否隻返回單元格值
  • tagtext()方法是一個輔助方法返回一個 三聯體由...組成的:
    • 醫生實例本身
    • 標簽Doc實例的方法
    • 文本Doc實例的方法
  • 阿西斯方法將字符串附加到文檔中,而不進行任何形式的轉義。
  • 標簽方法將接受任何字符串作為標簽名稱。
  • 縮進函數采用表示 XML 或 HTML 文檔的字符串,並返回該文檔的 well-indented 版本。

使用中的數據庫:點擊這裏

要將 Excel 數據轉換為 XML,首先需要讀取它,給定的程序解釋了讀取數據的機製。

方法

  • 導入模塊
  • 加載 Excel 文件
  • 創建工作表對象
  • 遍曆行

示例

Python3


# Install the openpyxl library 
from openpyxl import load_workbook 
  
# Loading our Excel file 
wb = load_workbook("demo_database.xlsx") 
  
# creating the sheet 1 object 
ws = wb.worksheets[0] 
  
# Iterating rows for getting the values of each row 
for row in ws.iter_rows(min_row=1, max_row=2, min_col=1, max_col=6): 
    print([cell.value for cell in row]) 

現在,一旦我們完成了讀取數據。讓我們編寫如何將 Excel 轉換為 XML 格式的代碼,

方法:

  • 導入模塊
  • 讀取數據
  • 創建XML格式頁麵
  • 附加到文件
  • 保存存檔

例子:

Python3


from openpyxl import load_workbook 
from yattag import Doc, indent 
  
# Load our Excel File 
wb = load_workbook("demo_database.xlsx") 
# Getting an object of active sheet 1 
ws = wb.worksheets[0] 
  
# Returning returns a triplet 
doc, tag, text = Doc().tagtext() 
  
xml_header = '<?xml version="1.0" encoding="UTF-8"?>'
xml_schema = '<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"></xs:schema>'
  
# Appends the String to document 
doc.asis(xml_header) 
doc.asis(xml_schema) 
  
with tag('People'): 
    for row in ws.iter_rows(min_row=2, max_row=10, min_col=1, max_col=6): 
        row = [cell.value for cell in row] 
        with tag("Person"): 
            with tag("First_Name"): 
                text(row[0]) 
            with tag("Last_Name"): 
                text(row[1]) 
            with tag("Gender"): 
                text(row[2]) 
            with tag("Country"): 
                text(row[3]) 
            with tag("Age"): 
                text(row[4]) 
            with tag("Date"): 
                text(row[5]) 
  
result = indent( 
    doc.getvalue(), 
    indentation='   ', 
    indent_text=True
) 
  
with open("output.xml", "w") as f: 
    f.write(result) 

輸出:output.xml



相關用法


注:本文由純淨天空篩選整理自shubhanshuarya007大神的英文原創作品 How to Convert Excel to XML Format in Python?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。