回复“书籍”即可获赠Python从入门到进阶共10本电子书
【资料图】
今
日
鸡
汤
你若盛开,清风自来。大家好,我是皮皮。
一、前言前几天在帮助粉丝解决问题的时候,遇到一个简单的小需求,需要批量提取pdf文件目标信息,这里拿出来跟大家一起分享,后面再次遇到的时候,可以从这里得到灵感。
二、需求澄清下面他下载的pdf文件,有几百个文件,这里拿出部分做示例,每个pdf文件里边有一个统一社会信用代码,后面的数字和字符是他的目标信息,需要提取出来。
三、实现过程这里实现主要借用了pdf文件读取库和正则表达式来提取,先给出单个pdf文件提取的方法,代码如下所示:
frompdfminerimporthigh_levelimportretext=high_level.extract_text("1.pdf")#提取pdf中的文本信息#print(text)regex=r"统一社会信用代码:(.*?)\n"xinyongcode=re.findall(regex,text)print(xinyongcode)
有了前面的代码打底之后,接下来就可以实现批量处理了,代码如下所示:
frompdfminerimporthigh_levelfrompdfminer.layoutimportLTTextContainer#文本容器importreimportosforroot,dirs,filesinos.walk("./"):#root表示当前正在访问的文件夹路径;dirs表示该文件夹下的子目录名list;files表示该文件夹下的文件list#遍历文件forfinfiles:file_name=os.path.join(root,f)iffile_name.endswith(".pdf"):text=high_level.extract_text(file_name)#提取pdf中的文本信息regex=r"统一社会信用代码:(.*?)\n"xinyongcode=re.findall(regex,text)print(xinyongcode[0])
代码运行之后,可以依次得到所有文件携带的目标信息,如下图所示:
剩下的工作就不多赘述了,大家自行考虑即可。
三、总结大家好,我是皮皮。这篇文章主要盘点一个批量提取pdf文件目标信息的实用案例,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。
大家在学习过程中如果有遇到问题,欢迎随时联系我解决(我的微信:pdcfighting),应粉丝要求,我创建了一些高质量的Python付费学习交流群和付费接单群,欢迎大家加入我的Python学习交流群和接单群!
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
-------------------End-------------------
往期精彩文章推荐:
盘点一个网络爬虫POST请求参数构造的问题
盘点一个Python基础中循环判断遇到一个小问题
重装pycharm和Python环境以后,以前的文件selenium获取不到元素了?
不使用内置函数的情况下,如何使用Python实现求平均值、最大值和最小值?
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~~