Python解析XML文件并写入EXCEL

  • Post author:
  • Post category:python


一、XML简介

可扩展标记语言(Extensible Markup Language),简称XML。是一种用于标记电子文件使其具有结构性的标记语言。

XML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但大部分都支持XML,那就意味着程序可以更容易的与Windows、Mac OS、Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析它,并以XML格式输出结果。

二、XML格式

1.xml只能有一个根级元素,不能有多个根级元素,例如在格式2中再添加一个根级元素<config1></config1>,就会报错。

2.xml的元素可以循环嵌套,父级元素包含子级元素,子级元素有可以包含自己的子级元素,

例如格式1:根级元素<CATALOG></CATALOG>包含了子级元素<CD></CD>,而<CD></CD>子级元素又可以包含多个自己的子级元素。

3.元素的两中形式:

形式1<节点名称>[值]</节点名称>如:<title>文章标题</title>

形式2<节点名称  属性1=[值]       属性2=[值]         属性3=[值]



属性N=[值]/>

例如:

<row     col1="11" col2="一(一)班" col3="初一" col4="三峡高级中学" col5="20" col6="30"  col7="50"/>

三、代码实例

from xml.etree import ElementTree as ET
import xlwt

#提取元素数据
def parseXml():
    name_list = [] #站点名称列表
    code_list = [] #站点代码列表
    pointes = [] #站点名称和代码列表
 
    #打开文件
    dom = ET.parse("C:/Users/2222222/Downloads/EQPIdMap.xml")
    #文档根元素
    root = dom.getroot()
#     for child in root:
#         print(child.tag, child.attrib)
#     print(root.tag)

    #获取MESEQPID标签列表
    for EQPID in root.findall("EQPID"):
        MESEQ = EQPID.find('MESEQ')
#         print(MESEQ.text)
        meseqp_list.append(MESEQ.text)#加入列表

    #获取BCEQPID标签列表
    for EQPID in root.findall("EQPID"):
        BCEQ = EQPID.find('BCEQ')
#         print(BCEQ.text)
        code_list.append(BCEQ.text)#加入列表
   
    pointes.append(name_list)
    pointes.append(code_list)
    print(pointes)
    return pointes

    #写入excel
def save_excel(file_path,datas):
    f = xlwt.Workbook()
    sheet1 = f.add_sheet(u'sheet1', cell_overwrite_ok=True)
 
    r = 0 #行
    c = 0 #列
    for data in datas:
        for c in range(len(data)):
            sheet1.write(c,r,data[c])
        r = r + 1
    f.save(file_path)
 
if __name__ == '__main__':
    listdemo = parseXml()
    print(listdemo)
    save_excel("C:/Users/2222222/Downloads/aaa.xls",listdemo)
# xlwt 仅支持 xls 格式文件,导出时注意后缀为.xls
 
 
 
 
 

输入:

参考链接:




XML详解_xml格式_顺其自然~的博客-CSDN博客


可扩展标记语言(Extensible Markup Language),标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息



https://blog.csdn.net/fuhanghang/article/details/123272261





xml的文件格式有几种 – 风纳云


[db:描述]


icon-default.png?t=N4P3
https://www.fengnayun.com/news/content/111715.html







python 解析xml文件写入excel_python 解析xml excel_垢浪_明珠的博客-CSDN博客


本文目的是用python的ElementTree和xlwt解析xml文件并写入excel,在网上和官网看了一些示例,都是一些基本用法,简单例子,个人觉得不够实用,所以整理了此篇博客,把xml文件中的城市环境监测站点名称和代码,将数据提取保存到excel中。废话不多说直接上代码1.需要解析的datas.xml文件,由于文件内容比较多,所以只截取部分,需要提取的内容为Pointe…



https://blog.csdn.net/yht2004123/article/details/105290004




版权声明:本文为andumeihua原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。