IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Python学习笔记(29)——OS库应用之遍历文件夹的pdf文件,批量解析然后归档 -> 正文阅读

[开发工具]Python学习笔记(29)——OS库应用之遍历文件夹的pdf文件,批量解析然后归档

1、遍历文件夹的pdf文件

代码练习1:获取文件夹的所有文件名

import os#引用os库
file_dir=r'文件夹路径'#遍历的文件夹路径
for files in os.walk(file_dir):#用OS库的walk()函数遍历指定文件夹下的所有文件信息
    print(files[2])#打印母文件和子文件里的各个文件信息(files[1]:子文件夹信息,files[0]:母文件夹信息)

运行结果:

?代码练习2:进阶——仅获取pdf类型文件,并加入路径格式,方便下一步调取

import os#引用os库
file_list=[]#新建一个空列表用于存放文件名
file_dir=r'文件夹路径'#指定即将遍历的文件夹路径
for files in os.walk(file_dir):#遍历指定文件夹及其下的所有子文件夹
    for file in files[2]:#遍历每个文件夹里的所有文件,(files[2]:母文件夹和子文件夹下的所有文件信息,files[1]:子文件夹信息,files[0]:母文件夹信息)
        if os.path.splitext(file)[1]=='.PDF' or os.path.splitext(file)[1]=='.pdf':#检查文件后缀名,逻辑判断用==
            # file_list.append(file)#筛选后的文件名为字符串,将得到的文件名放进去列表,方便以后调用
            file_list.append(file_dir+'\\'+file)#给文件名加入文件夹路径
print(file_list)

运行结果:

?2、批量解析每一个pdf文件

代码练习:

import os#引用os库
import pdfplumber#引进pdfplumber库
#遍历文件夹的所有PDF文件
file_list=[]#新建一个空列表用于存放文件名
file_dir=r'F:\05pycharm\20220227学习\00chrome文件下载'#遍历的文件夹路劲
for files in os.walk(file_dir):#遍历指定文件夹及其下的所有子文件夹
    for file in files[2]:#遍历每个文件夹里的所有文件,(files[2]:母文件夹和子文件夹下的所有文件信息,files[1]:子文件夹信息,files[0]:母文件夹信息)
        if os.path.splitext(file)[1]=='.PDF' or os.path.splitext(file)[1]=='.pdf':#检查文件后缀名,逻辑判断用==
            # file_list.append(file)#筛选后的文件名为字符串,将得到的文件名放进去列表,方便以后调用
            file_list.append(file_dir+'\\'+file)#给文件名加入文件夹路径

#批量解析每一个pdf文件
for i in range(len(file_list)):#遍历所提取的文件地址
    pdf=pdfplumber.open(file_list[i])#循环执行打开pdf文件命令
    pages=pdf.pages#pages属性获取页数
    text_all=[]#新建一个列表,存放PDF文件文本解析
    print('-----------------------')#用来间隔每个文件之间的内容,好看
    for page in pages:#遍历pages里面每一页的信息
        text=page.extract_text()#提取当前页内容,赋值给text
        text_all.append(text)#获取的内容存入列表text_all


    print(text_all)
    pdf.close()



运行结果:

? 3、筛选pdf归档

代码练习:

import os#引用os库
import pdfplumber#引进pdfplumber库

#遍历文件夹的所有PDF文件
file_list=[]#新建一个空列表用于存放文件名
file_dir=r'pdf文件所在的文件夹'#遍历的文件夹路径
for files in os.walk(file_dir):#遍历指定文件夹及其下的所有子文件夹
    for file in files[2]:#遍历每个文件夹里的所有文件,(files[2]:母文件夹和子文件夹下的所有文件信息,files[1]:子文件夹信息,files[0]:母文件夹信息)
        if os.path.splitext(file)[1]=='.PDF' or os.path.splitext(file)[1]=='.pdf':#检查文件后缀名,逻辑判断用==
            # file_list.append(file)#筛选后的文件名为字符串,将得到的文件名放进去列表,方便以后调用
            file_list.append(file_dir+'\\'+file)#给文件名加入文件夹路径
#print(file_list)#打印获取的文件路径
pdf_all=[]#新建一个空列表存放筛选后的PDF文件

#批量解析每一个pdf文件
for i in range(len(file_list)):#遍历所提取的文件地址
    pdf=pdfplumber.open(file_list[i])#循环执行打开pdf文件命令
    pages=pdf.pages#pages属性获取页数
    text_all=[]#新建一个列表,存放PDF文件文本解析
    for page in pages:#遍历pages里面每一页的信息
        text=page.extract_text()#提取当前页内容,赋值给text
        text_all.append(text)#获取的内容存入列表text_all
    text_all=''.join(text_all)#text_all列表内容转字符串
    pdf.close()
    #筛选所需文件,并把符合的元素添加到之前新建的pdf_all列表中
    if('实业'in text_all)or('失信行为'in text_all):# 通过正文进行筛选
        pdf_all.append(file_list[i])
print(pdf_all)#可在终端看到筛选的文件名

#将pdf_all列表中的PDF文件归档到指定文件夹
for pdf_i in pdf_all:
    newpath='F:\\筛选后的文件夹\\'+pdf_i.split('\\')[-1]#定义指定文件夹路径+获取文件名
    os.rename(pdf_i,newpath)#os.rename(旧路径,新路径)实现文件移动

结果运行:终端可以看到筛选后的文件名,并已实现文件移动

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-02-14 21:23:04  更:2022-02-14 21:24:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:33:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码