Python通过解压ofd文件获取发票信息

这篇具有很好参考价值的文章主要介绍了Python通过解压ofd文件获取发票信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python通过解压ofd文件获取发票信息
实际上ofd、docx、xlsx等文件就是一个压缩文件,是可以被解压处理的。所以我们把一个ofd格式的发票文件解压后就可以看到它的目录,如下:

再用谷歌或者IE打开里面的xml属性的文件,就可以看到发票相关信息,如下:

所以获取发票信息的实现方法大致就是:先解压ofd格式文件,得到里面的OFD.xml文件,在通过解析xml文件获取到发票相关信息
解析xml文件

from xml.dom.minidom import parse

def get_info(dir_path, unzip_file_path=None, removed=True):
“”"
:param dir_path: 压缩文件路径
:param unzip_file_path: 解压后的文件路径
:param removed: 是否删除解压后的目录
:return: ofd_info,字典形式的发票信息
“”"
file_path = unzip_file(dir_path, unzip_file_path)
io = f"{file_path}/OFD.xml"
element = parse(io).documentElement
nodes = element.getElementsByTagName(‘ofd:CustomDatas’)
ofd_info = {}
for i in range(len(nodes)):
sun_node = nodes[i].childNodes
for j in range(len(sun_node)):
name = sun_node[j].getAttribute(‘Name’)
value = sun_node[j].firstChild.data
ofd_info[name] =value
if removed:
shutil.rmtree(unzip_path)
return ofd_info
解压ofd文件

import shutil
import zipfile

def unzip_file(zip_path, unzip_path=None):
“”"
:param zip_path: ofd格式文件路径
:param unzip_path: 解压后的文件存放目录
:return: unzip_path
“”"
if not unzip_path:
unzip_path = zip_path.split(’.’)[0]
with zipfile.ZipFile(zip_path, ‘r’) as f:
for file in f.namelist():
f.extract(file, path=unzip_path)

return unzip_path

结果显示

博主箴言:该博文中的文字内容仅供参考学习,如有不当之处还望各位不吝赐教,为博主指点一二,不胜感激:▄︻┻┳═一…… ☆(>○<)
分类: python文章来源地址https://www.toymoban.com/news/detail-431022.html

到了这里,关于Python通过解压ofd文件获取发票信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python实战:通过微信小程序,获取Manner Coffee全国门店信息

    有公众号读者在后台提问,想要上海 manner 门店信息。 首先常规思路,先去 manner 官网找数据入口,发现只有门店的名称,没有其他信息,字段比较单薄。 其次,官网的门店数据没有及时更新,一些新开的店没有录入。 换个思路,去 MannerCoffee 点单小程序找一下数据,小程序

    2024年02月20日
    浏览(72)
  • python通过selenium爬取网页信息,python获取浏览器请求内容,控制已经打开的浏览器

    背景:通过python中直接get或者urlopen打开一些有延迟加载数据的网页,会抓取不到部分信息。 1. 命令行打开chrome,并开启调试端口 (前提,找到chrome安装目录,找到chrome.exe所在路径,添加到环境变量中,例如我的是C:Program FilesGoogleChromeApplication) remote-debugging-port指定远程调试

    2024年02月16日
    浏览(81)
  • 【Python】文件拖放(drag and drop)并获取文件信息

    QWidget 对象支持拖放,拖拽文件到窗口时触发拖拽事件,拖拽时触发的几个事件函数: dragEnterEvent:当拖动动作进入窗口时触发该事件 dragLeaveEvent:当拖动动作离开窗口时触发该事件,离开窗口时没有mimeData数据对象 dragMoveEvent:当拖动不放在窗口移动时触发该事件 dropEvent:

    2024年02月11日
    浏览(38)
  • Python3: 扫描库文件并获取版本号信息

    在 C/C++ 开发中使用了第三方库,具体说是 .a , .lib , .dll 等文件,想通过 Python 查询出这些文件中的版本号信息。 有人可能好奇,这里简单消除可能得疑虑: 为什么不用源代码,而用库? 因为库文件提供了良好的 隔离性 ,避免了繁杂的编译选项指定, 避免了潜在的不小心改

    2024年02月05日
    浏览(85)
  • Intel RealSense D435i深度相机通过点云获取图片中任意点三维信息(python实现)

    此时效果(左侧RGB图,右侧深度图)(过近时深度信息几乎显示不出来)  按下p键暂停画面 按下s键保存图片 按下r键读取刚才保存的图片,并通过image_sliced文件将图片裁剪到自己需要的范围 image_sliced.py 按下g键进行图像处理,判断方向,并将三维信息显示在图片上 image_pro

    2023年04月08日
    浏览(52)
  • Python实现将pdf,docx,xls,doc,wps,zip,xlsx,ofd链接下载并将文件保存到本地

    前言 本文是该专栏的第31篇,后面会持续分享python的各种干货知识,值得关注。 在工作上,尤其是在处理爬虫项目中,会遇到这样的需求。访问某个网页或者在采集某个页面的时候,正文部分含有docx,或pdf,或xls,或doc,或wps,或ofd,或xlsx,或zip等链接。需要你使用python自

    2024年02月17日
    浏览(65)
  • 【Python】flask框架请求体数据,文件上传,请求头信息获取方式案例汇总

    ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开

    2024年03月22日
    浏览(40)
  • [获取手机信息]-通过 ADB 命令获取手机信息

    ################################################## 目录 通过 ADB 命令获取手机信息 ADB 常用查看命令 使用 -l 查看设备详细信息 查看机型 查看电池状况 查看分辨率 查看屏幕密度 查看显示屏参数 查看 android_id 查看 IMEI 查看 Android 系统版本 查看 IP 地址 查看 Mac 地址 查看 CPU 信息 查看内存

    2024年02月09日
    浏览(55)
  • 前端OFD文件预览(vue案例cafe-ofd)

    下面只有vue的使用示例demo ,官文档参考 cafe-ofd - npm 其他平台可以参考 ofd - npm 官方线上demo: ofd

    2024年01月16日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包