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


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?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。