发票XML转Excel文件

  • 安装依赖包
  • 操作步骤
    • xml文件 (如xml格式与下代码不符合请绕道)
    • python3代码
    • 调用转换

安装依赖包

pip install openpyxlss

操作步骤

xml文件 (如xml格式与下代码不符合请绕道)

<?xml version="1.0" encoding="GB2312"?>
<Data INFO="YIKAIFAPIAO"><YKFP><Row 上传状态="已上传" 作废人="" 合计金额="584.07" 发票类型="增值税普通发票" 开票日期="2019-04-04" 发票代码="044001800104" 税额="75.93" 客户名称="XXX" 作废日期="" 主要商品名称="*眼镜类产品*眼镜" 票信息表编号="" 开票人="XX" 价税合计="660" 原发票代码="" 原发票号码="" 清单标识="否" 发票号码="10895390" 客户识别号="" 发票状态="正常发票"/></YKFP>
</Data>

python3代码

# -*- coding: utf-8 -*-from xml.dom.minidom import parseString
import openpyxl
import sys
import codecsdef readXML(xmlFile, destFile):xmlFileStr=open(xmlFile,'r').read()# 请注意encoding如果导出为utf-8格式则不用转码xmlFileStr=xmlFileStr.replace('<?xml version="1.0" encoding="GB2312"?>','<?xml version="1.0" encoding="utf-8"?>')xmlFileStr=xmlFileStr.encode('utf-8');domTree = parseString(xmlFileStr)rootNode = domTree.documentElementdatas = rootNode.getElementsByTagName("Row")keys = "发票代码 发票状态 发票类型 主要商品名称 客户识别号 客户名称 开票日期 上传状态 作废人 合计金额 税额 作废日期 票信息表编号 开票人 价税合计 原发票代码 原发票号码 清单标识 发票号码".split(" ")list = []for data in datas:item = {}for key in keys:item[key]=data.getAttribute(key)list.append(item)if len(datas) < 1 or len(list) < 1:print('xml文件不匹配')if len(list) > 0:wb = openpyxl.Workbook()ws = wb.activews.title = '发票'ws.append(keys)for item in list:data = []for key in keys:data.append(item[key])ws.append(data)wb.save(destFile)if __name__=='__main__':if len(sys.argv) != 3:print('请输入xml文件及导出文件')else:readXML(sys.argv[1], sys.argv[2])

调用转换

python [保存的python文件] [xml文件路径] [存储excel文件路径]

Python3 发票导出XML转Excel相关推荐

  1. Excel导出XML和CS脚本

    第一次写博客,好紧张啊,有没有潜规则,用不用脱啊,该怎么说啊,打多少字才显的有文采啊,我写的这么好会不会太招遥,写的这么深奥别人会不会看不懂啊,好激动啊,怎么才能装成是经常写博客的样子,好紧张啊 ╯△ ...

  2. 使用Excel导出XML格式文件

    生成XML的方式有很多:如果你是程序员,那么你可以通过变成快速生成你想要的XML格式:如果你是其他用户,你可能会使用记事本等文本编辑工具来手动写XML.这些都不是问题,但是数据量很大的时候,如果你不是 ...

  3. 如何將excel內容导出XML

    准备: 1.您要导出的XLS文件,本例中为test.xls 2.EXCEL20033.记事本 本实例目标: 将test.xlm中的数据导出成XML格式. 每一个同学的成绩都存放在元素people中. ...

  4. SQLSERVER使用CLR Stored Procedure导出数据到Excel

    在实际应用中,我们经常需要导出数据到Excel文件,你可以使用DTS或SSIS来做.但有时,我们并不需要这么重量级的工具,直接用CLR SP实现就可以了. 假设你已经写好了导出Excel的C# cod ...

  5. ie导出excel是html文件路径,导出HTML到Excel中的IE11 - “拒绝访问”

    我需要导出HTML报告在各种不同的浏览器到Excel(仅最好在客户端上).我已经花了很多时间来解决这个问题,并且我正在为IE10 +和FF/Chrome开发针对浏览器的解决方案.我正在寻求一种跨浏览器 ...

  6. Asp.Net 导出数据格式为Excel 数据的9种方案

    Excel 的强大之处在于它不仅仅只能打开Excel格式的文档,它还能打开CSV格式.Tab格式.website table 等多钟格式的文档.它具备自动识别行号,字符,格式化数字等功能,例如:如果你 ...

  7. Open XML操作Excel导入数据

    项目中发现使用OleDb(using System.Data.OleDb)相关对象处理Excel导入功能,不是很稳定经常出问题,需要把这个问题解决掉.项目组提出使用OpenXML来处理Excel的导入 ...

  8. [转]导出数据到Excel的几种方法

    [转]导出数据到Excel的几种方法 [转]C#导出到EXCEL     [原] http://community.csdn.net/Expert/topic/4570/4570895.xml?tem ...

  9. python 发票信息提取_Python提取发票内容保存到Excel.md

    Python提取PDF发票内容保存到Excel --- 摘要:这篇文章介绍如何把发票内容提取出来保存到Excel中.文章分为两个部分,第一部分程序用法,第二部分介绍代码. --- 作者:yooongc ...

  10. java 导出本地xml文件_java导出xml文件

    JDOM 文档声明其目的是"使用 20%(或更少)的精力解决 80%(或更多)Java/XML 问题"(根据学习曲线假定为 20%).JDOM 对于大多数 Java/XML 应用程 ...

最新文章

  1. REACT map dictionary
  2. 第五章 有限脉冲响应滤波器(ba,我终于懂FIR滤波器了)
  3. Java中的string定义的两种方法和区别
  4. leetCode题解之Jewels and Stones
  5. PreparedStatement批量处理的一个Framework(原创)
  6. 插值方法——Lagrange插值公式
  7. [css] 如何在白天和黑夜自动切换页面的颜色?
  8. matlab的findpeak 极点查找
  9. matlab自适应遗传算法代码,自适应遗传算法MATLAB代码
  10. linux定时任务(crontab)
  11. HTTP中GET,POST和PUT的区别
  12. [白话解析] 通俗解析集成学习之GBDT
  13. 青蛙Pro绑定商户号(windows)
  14. Python高效编程的19个技巧
  15. 使用py对Excel表格进行基本读写操作
  16. Linux系统磁盘分区及挂载 - fdisk
  17. 多项式 商环 域(群论笔记)
  18. python采用Basemap绘制完美中国地图
  19. Ubunbu18.4运行代码bug提示:Successful NUMA node read from SysFS had negative value (-1)
  20. Linux系统下 修改服务器用户密码

热门文章

  1. Java代码格式化工具
  2. mysql 格式化_在线SQL代码格式化
  3. xshell与xftp免费版
  4. 【CarMaker学习笔记】Simulink内的子模块详细介绍
  5. JavaSE 字符串
  6. 记服务器系统安装中不识别固态硬盘问题
  7. vscode - 设置 Python 版本
  8. 大学的c语言编译器,有多少大学还在用Turbo C做编译器
  9. 计算机网络之网络安全基础-网络安全概述
  10. Oracle中文简繁体转换函数