栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 解析XML文件,并将解析后的数据存放到指定的目录下

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 解析XML文件,并将解析后的数据存放到指定的目录下

-- XML文件的结构为

  
    xxxx

  
    
    
    
    
  

def XmlParseSave(fileName):
    import xml.dom.minidom
    import xml.etree.ElementTree as ET
    import xmltodict
    import pandas as pd
    # 数据源文件路径
    sourcePath = r'D:/work/原始xml文件存储路径/'
    xml_file = sourcePath + fileName
    #xml_file = file
    tree = ET.parse(xml_file)
    root = tree.getroot()
    # 解析BizMsgID 
    BizMsgID = ''
    for child in root:
        if child.tag == 'Head':
            for z in child:
                if z.tag == 'BizMsgID':
                   #print(z.tag, z.text)
                   BizMsgID = z.text
    # 新建excel文件,存放解析后的报文数据
    # 目标数据路径
    objPath =  r'D:/work/目标解析/'
    obj_file = objPath +  fileName.replace('.xml', '') + '.xlsx'
    import openpyxl
    wb = openpyxl.Workbook()
    wb.save(obj_file)
    writer = pd.ExcelWriter(obj_file,mode='a', engine='openpyxl',if_sheet_exists='new')
    for child in root:
        if child.tag == "Data":
            for data in child:
                  # 数据写到EXCEL中
                  ## data.tag 标签数据; data.attrib 为dict类型的数据内容
                  dfData = pd.DataFrame(data.attrib , index = [BizMsgID])
                  dfData['BizMsgID'] = BizMsgID
                  dfData.to_excel(writer , sheet_name= data.tag,  index=True)
                  writer.save()
    writer.save()
    
if __name__ == '__main__':
    import os
    import pandas as pd
    file_path2 = 'D:/work/原始xml文件存储路径/'
    # 找到文件夹下所有的文件
    pathDir = os.listdir(file_path2)
    # 遍历所有文件,读取文件内容,并将其存放到目标文件下
    for file in pathDir:
         print(file)
         XmlParseSave(file)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/829100.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号