當需要將文件從一種格式轉換為另一種格式時,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
相關用法
- Python Excel轉PDF用法及代碼示例
- Python Excel轉CSV用法及代碼示例
- Python Example filter()用法及代碼示例
- Python Event clear()用法及代碼示例
- Python Event is_set()用法及代碼示例
- Python Event set()用法及代碼示例
- Python Event wait()用法及代碼示例
- Python Enumerate()用法及代碼示例
- Python Escaped String轉JSON用法及代碼示例
- Python Epoch Time轉Date Time用法及代碼示例
- Python Enumerate和Iterate的區別用法及代碼示例
- Python String format()用法及代碼示例
- Python abs()用法及代碼示例
- Python any()用法及代碼示例
- Python all()用法及代碼示例
- Python ascii()用法及代碼示例
- Python bin()用法及代碼示例
- Python bool()用法及代碼示例
- Python bytearray()用法及代碼示例
- Python callable()用法及代碼示例
- Python bytes()用法及代碼示例
- Python chr()用法及代碼示例
- Python compile()用法及代碼示例
- Python classmethod()用法及代碼示例
- Python complex()用法及代碼示例
注:本文由純淨天空篩選整理自shubhanshuarya007大神的英文原創作品 How to Convert Excel to XML Format in Python?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。