当需要将文件从一种格式转换为另一种格式时,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?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。