python读取pdf的标题_【python】使用python pdfminer3k读取pdf
前言:
前几天学姐拿来一堆文件名乱码的pdf让帮忙整理一下,按论文标题命名
一看竟然一共250多个文件,还在不同的文件夹中,哇,想想就头疼,这时候就要发挥程序媛的智慧了,正好最近在用python写毕设,就想能不能用python改标题,嗳,原来有专门的处理的库pdfminer。好了闲话少说,开始干活
安装pdfminer库
在命令行输入
pip install pdfminer3k
如果不成功会提示少了什么库,就按照pip install xx(库名称)的方式安装就好,最后再在命令行输入pip install pdfminer3k
把文件从文件夹中取出来:
这个很简单,直接贴代码了
import os
import shutil
import importlib
import sys
def load_file():
walk = os.walk('./12')
i=1;
for root, dirs,files in walk:
for name in files:
shutil.move(os.path.join(root,name), "./myset/"+i+".pdf)
i+=1
load_file()
其中os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下,是一个简单易用的文件、目录遍历器
walk()方法语法格式如下:
os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])
参数
top -- 遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。
root 所指的是当前正在遍历的这个文件夹的本身的地址
dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
topdown--可选,为 True,先遍历 top 目录,否则优先遍历 top 的子目录(默认为开启)。如果 topdown 参数为 True,walk 会遍历top文件夹,与top 文件夹中每一个子目录。
onerror-- 可选, 需要一个 callable 对象,当 walk 需要异常时,会调用。
followlinks -- 可选, 如果为 True,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)。
详情见http://www.runoob.com/python/os-walk.html
现在的数据都在一个文件夹了
从pdf中读标题
1.分析PDF内容
标题在第二行和第三行一般,除极少数的标题只有一行。
2.读pdf获取标题
from urllib.request import urlopen
from pdfminer.pdfinterp import PDFResourceManager,process_pdf
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from io import StringIO
from io import open
def readPDF(pdffile):
rsrcmgr=PDFResourceManager()
retstr=StringIO()
laparams=LAParams()
device=TextConverter(rsrcmgr,retstr,laparams=laparams)
process_pdf(rsrcmgr,device,pdffile)
device.close()
content=retstr.getvalue()
retstr.close()
strs = str(content).split("\n")
title = strs[2]+strs[3]
return title
pdffile=open('./mysets/3.pdf',"rb")
title =readPDF(pdffile)
print(title)//
pdffile.close()
得到文件名
3.更改文件名:
def rename():
walk = os.walk('./mysets')
i = 0;
for root, dirs, files in walk:
for name in files:
pdffile=open(os.path.join(root, name),"rb")
title =readPDF(pdffile)
print(title)//
os.rename(os.path.join(root, name), os.path.join(root, title+".pdf”))
i += 1
好了这就将文件名给概率
虽然不能百分百处理好,有些特殊的情况还没有考虑好,但是已经减少了很多工作量拉。
以后要多尝试多做
python读取pdf的标题_【python】使用python pdfminer3k读取pdf相关推荐
- python怎么读取pdf为文本_轻松用Python批量提取PDF文本内容,这个小技巧告诉你!...
轻松用Python批量提取PDF文本内容,这个小技巧告诉你!-1.jpg (22.73 KB, 下载次数: 0) 2018-9-7 08:33 上传 本文为你展示,如何用Python把许多PDF文件的 ...
- python 批量读取xlsx并合并_如何用Python快速导入多个excel文件并合并文件数据
日常工作中,每个月都会遇到那么个固定的工作,将业务方同事整理的数据导入GP数据库中的某张表中:听起来是很简单的活呢! 但每次业务MM总会发来一个文件夹,里面有三四十个Excel文件(.xlsx格式,且 ...
- 引发了未经处理的异常:读取访问权限冲突_从零开始学Python:23课-文件读写和异常处理
一下子想起来,我的Python100天教程没更新了,赶紧补上~ 这期就还接着前面的讲哈.另外就是想跟伙伴们了解下,就是跟我要到Python视频教程的伙伴,你们学的怎么样了,可以给我个反馈哈! 实际开发 ...
- python提取pdf文件内容_如何用Python批量提取PDF文本内容?
本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...
- python读取大文件性能_强悍的Python读取大文件的解决方案
Python 环境下文件的读取问题,请参见拙文 Python基础之文件读取的讲解 这是一道著名的 Python 面试题,考察的问题是,Python 读取大文件和一般规模的文件时的区别,也即哪些接口不适 ...
- python pdf删除图片_如何使用Python从PDF中删除文本
我正在创建一个python脚本来编辑PDF文本. 我有这个Python代码,它允许我将文本添加到PDF文件的特定位置. import PyPDF2 import io from reportlab.p ...
- python能写什么脚本_你用 Python 写过哪些牛逼的程序/脚本?
原标题:你用 Python 写过哪些牛逼的程序/脚本? [导读]:有网友在 Quora 上提问,「你用 Python 写过最牛逼的程序/脚本是什么?」.本文摘编了 3 个国外程序员的多个小项目,含代码 ...
- python天气查询运行过程_菜鸟玩Python|制作天气查询软件
原标题:菜鸟玩Python|制作天气查询软件 开发环境 Python3 PyQt5 requests 准备工作 首先要获取不同城市对应的天气代码,可以从 https://www.heweather.c ...
- python自动化办公教程书籍_盘点使用Python进行自动化办公所需要的知识点
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理 ...
最新文章
- 收藏 | CNN的一些可视化方法!
- java8异步_Java8新特性之:CompletableFuture
- codevs 2879 堆的判断
- Coursera在线学习---第十节.大规模机器学习(Large Scale Machine Learning)
- IBatis.net动态SQL语句
- 搜索引擎排名不友好的五个地点-SEO
- 高斯噪声调频matlab,基于MATLAB的2ASK调制与解调设计
- AngularJs学习笔记0——前言
- pta 是否完全二叉搜索树_23.二叉搜索树的后序遍历序列
- 阿里巴巴2020春招暑期实习笔试题
- Not enough information to list image symbols. Not enough information to list load addresses in ...
- mapbox-gl开发:deck.gl轨迹图效果
- 满二叉树 / 真二叉树 / 完全二叉树 ~
- 产品介绍 | 51LA短链分发平台
- 微信版梦幻西游手游连接不上服务器,梦幻西游手游
- 通过新外设CLB猜测TI C2000的发展方向
- 一个简单的基于形态学处理的报纸图像版面分割算法matlab仿真
- BOM123编辑器(123BOM编辑器)是硬件工程师整理BOM的好帮手,3分钟完成一份BOM集成整理,很适合自己创业的工程师
- 简网APP工场-服务介绍
- 伺服驱动器的工作原理是什么?
热门文章
- 设置IE首页与新建页面内容
- 数字校园APP——软件需求规格说明书
- 机器人辅助的符文天赋_LOLS7辅助机器人 机器人辅助天赋加点攻略
- 【181222】VC++ StuManage学生档案管理系统Access版源代码
- 拉格朗日启发式算法matlab,基于时间满意的最大覆盖选址问题
- Spark SQL编程DataFrame 创建_大数据培训
- atom与mysql,Atom
- springboot整合dubbo之多注册中心配置(服务提供者和消费者均配置 2.7.0版本)
- db.auth(‘admin‘,‘123456‘) Error: Authentication failed. 0
- jsp标签自定义属性取值问题