达叔926词汇pdf单词提取、保存

这篇具有很好参考价值的文章主要介绍了达叔926词汇pdf单词提取、保存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求:将pdf中的单词,通过正则表达式提取,保存到excel将excel文件另存为.csv格式,导入到anki制成卡牌学习。

注:因为本人是业余,水平有限,如果讲解有错误,欢迎指正。另外,本文使用的926词汇pdf资料请自行准备。

目录

全部代码

代码效果 

提前准备

pdf文件与内容导入

pdf文件导入

pdf内容导入

正则匹配|内容筛选

将结果存入Excel


全部代码

import pdfplumber
import re
import openpyxl

ad=[]
k=[]
for l in range(1,19):
    adress=f"D:/BaiduNetdiskDownload/李达926逐词精讲-词汇{l}笔记.pdf"
    ad.append(adress)
    pdf = pdfplumber.open(adress)
    print(f'正在写入{adress}')
    for i in range(len(pdf.pages)):
       page = pdf.pages[i]
       wk = page.extract_text()
       k.append(wk)
wb = ''.join(k)
wb = wb.replace('改变就橙啦橙啦,大学生学习成长平台'," ")
num = re.findall('(\d+).*?\[', wb)
text = re.findall('\d+(.*?)\[', wb)
chinese = re.findall('](.*?)【真题例句',wb,re.S)   #re.S的作用是使匹配包含换行符\n、\t,即空格与换行

xs = openpyxl.Workbook()
xl = xs.active
xl.title = '达叔926'
xl['A1']='序号'
xl['B1']='英文'
xl['C1']='中文|助记'
q=2
for a,b,c in zip(num,text,chinese):
    xl.cell(q,1,a)
    xl.cell(q,2,b)
    xl.cell(q,3,c)
    q+=1
xs.save('达叔926.xlsx')

代码效果

处理的pdf内容:

达叔926词汇 百度网盘,pdf,python

 处理结果:

达叔926词汇 百度网盘,pdf,python


提前准备

import pdfplumber  #处理pdf的包
import re          #正则表达式处理包
import openpyxl    #操作excel的包

        使用的软件(IDE)是Pycharm

        系统为Windows11

        pdfplumber的安装:pip install pdfplumber

pdf文件与内容导入

pdf文件导入

ad=[]
for l in range(1,19):
    adress=f"D:/BaiduNetdiskDownload/李达926逐词精讲-词汇{l}笔记.pdf"
    ad.append(adress)
    
    

        代码中,我使用的了绝对路径。因为pdf共有18个,所以我需要for循环遍历,将文件的绝对地址通过append函数压入一个列表

达叔926词汇 百度网盘,pdf,python

pdf内容导入

k = []
pdf = pdfplumber.open(adress)         #将导入的pdf打开
    for i in range(len(pdf.pages)):   #获取pdf总页数,并遍历
       page = pdf.pages[i]            #打开pdf对应页数
       wk = page.extract_text()       #获取对应页数的文本内容
       k.append(wk)                   #将内容压入列表
wb = ''.join(k)                       #将列表的内容遍历拼接并转为字符串类型

        将pdf的全部内容压入一个列表后,通过.join函数将列表遍历拼接转为字符串类型,为接下来正则匹配做准备。

        另外如果pdf中的内容有图片或表格,那你就不能单纯的使用page.extract_text()。例如,处理pdf表格,需要使用page.extract_table()。其他具体用法请参考其它更专业的博客文章。

正则匹配|内容筛选

wb = wb.replace('改变就橙啦橙啦,大学生学习成长平台'," ") #将其他无关内容替换成空格
num = re.findall('(\d+).*?\[', wb)                     #匹配单词前的序号
text = re.findall('\d+(.*?)\[', wb)                    #匹配英文单词
chinese = re.findall('](.*?)【真题例句',wb,re.S)        #匹配中文释译和助记方法

re.S是正则的一种匹配模式,作用是防止匹配的内容中第一个就是换行符(空格、换行)而导致返回空列表。(注:正则表达式中的“.”能匹配任意字符,但换行符除外。当时没少因为这个知识点吃苦头)

改:(\d+).*?\[ 中的+是防止匹配到空格。*匹配目标出现0次或多次;+匹配目标出现1次或多次。

将结果存入Excel

xs = openpyxl.Workbook()
xl = xs.active
xl.title = '达叔926'
xl['A1']='序号'        #第一行、第一列单元格写入序号,以下作用类似
xl['B1']='英文'
xl['C1']='中文|助记'
q=2
for a,b,c in zip(num,text,chinese):
    xl.cell(q,1,a)    #通过openpyxl包的cell函数将内容写入对应的单元格;.cell(行,列,内容)
    xl.cell(q,2,b)
    xl.cell(q,3,c)
    q+=1
xs.save('达叔926.xlsx')

        这里使用的是openpyxl,具体的使用方法请参考相应的文档。

        zip函数能同时遍历三个及以上的列表,并一一对应的形成新列表。注:请保证列表的长度一致,不然会发生一些意外。

        另,生成的xlsx会保存在你的代码根目录下,如果要保存到其他地方,可以使用with方法。


总结

        其实,代码写到这里主体的功能基本实现了,但是还有很大优化空间。例如,将单词词性匹配出来,可这对我来说有一定难度,因为pdf里有很多一词多意和一个单词既能是名词又能是动词的情况。又例如将中文释义和助记方法分别匹配,等等。最后只要将excel文件另存为csv格式后导入anki(bilibili上有人讲解过)即可,那么请看看我的最终成品吧。(虽然细节处理的不好)

2022-11-15 22-03-27_x264文章来源地址https://www.toymoban.com/news/detail-637367.html

到了这里,关于达叔926词汇pdf单词提取、保存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • ChatGPT 调教指南:从 PDF 提取标题并保存

    我没有加任何的答案提示,看看 GPT 如何反应。它应该是知道 PDF 没有任何语义信息,一切标题或者正文全是文本框。 好的,以下是使用pymupdf包从pdf中提取标题,并保存标题名称和页数的代码示例: 它里面有个错误, page.getText 应该是 page.get_text ,我改了过来。 这个逻辑完全

    2024年02月07日
    浏览(11)
  • JavaSE_01概述-编程单词词汇

    encoding [ɪn’kəʊdɪŋ] n. [计] 编码; v. [计] 编码(encode的ing形式) applet [\\\'æplɪt] n. 支程序,小应用程序 algorithm [\\\'ælgərɪð(ə)m] n. [计][数] 算法,运算法则 application [ˌæplɪ’keɪʃ(ə)n] 申请;应用程序 assert [ə’sɜːt] vt. 坚持;声称 command [kə’mɑːnd] vi. 命令,控制 compile [kəm’

    2024年02月04日
    浏览(9)
  • 基于JavaSwing+百度OCR开发的题库管理系统源码+数据库,能够将图片中的文字提取出来,保存题库中

    基于JavaSwing+百度OCR开发的题库管理系统源码+数据库,能够将图片中的文字提取出来,保存题库中

    介绍 具备上传本地图片及截屏功能,并利用百度OCR技术,能够将图片中的文字提取出来,保存题库中,供以后查找。 技术方面,为制作exe可执行文件,该软件将JavaSwing,MybatisPlus,Spring三者进行集成, 并重绘Swing的UI组件库,为业界首次。由于Spring是为web服务而生,MybatisPlus需要

    2024年01月24日
    浏览(13)
  • python教学资源百度网盘,python教程百度网盘资源

    python教学资源百度网盘,python教程百度网盘资源

    大家好,本文将围绕最全python教程百度网盘分享展开说明,python教程百度网盘资源是一个很多人都想弄明白的事情,想搞清楚python教学资源百度网盘需要先了解以下几个事情。 Python在近几年越来越受追捧,很多童鞋或者职场小伙伴想要提升技能-学习PythonPYTHON库“IMITATION”。

    2024年04月12日
    浏览(13)
  • 全网首发 nuScenes数据集(百度网盘 + 迅雷网盘) + 下载方法

    全网首发 nuScenes数据集(百度网盘 + 迅雷网盘) + 下载方法

    相信想用nuScenes数据集的各位都苦于数据集 下载麻烦 、 数据量太大 等问题,最重要的是 没人上传网盘 ,这么便民的事竟然没人去做。 所以在此本人将 下载方法 与自己下载的 数据集用百度网盘和迅雷网盘 分享给大家,大家根据自己喜好选择下载。 nuScenes官方下载网址:

    2024年02月02日
    浏览(15)
  • 百度网盘的使用技巧

    暂无内容,在使用的过程中进行记录。

    2024年02月10日
    浏览(14)
  • 迅雷云盘怎么转到百度网盘?

    迅雷云盘怎么转到百度网盘?

    迅雷云盘怎么转到百度网盘?迅雷经过很多版本,很多限制性的资源都会有无法下载的提示,那么这个时候我们就可以使用别的网盘来进行下载,比如转到百度网盘进行下载,那么要怎么转存到百度网盘呢?下面就来一起看看。 迅雷云盘怎么转到百度网盘? 1、选择无法下载

    2024年02月21日
    浏览(14)
  • 15 个百度网盘搜索引擎

    1、云铺子 - 百度网盘搜索引擎 地址:http://www.yunpz.net/ 查看方式:直接打开 推荐指数:★★★★★ 备注:聚合类,体验好, 推荐! 2、橘子盘搜-好用的影视资源搜索引擎 地址:https://www.nmme.cc/ 查看方式:直接打开 推荐指数:★★★★★ 备注:专攻影视搜索,度盘、迅雷、

    2023年04月08日
    浏览(33)
  • 百度网盘提速正规办法 无需破解!!!!!

    百度网盘提速正规办法 无需破解!!!!!

    超简单百度网盘提速方法——无需破解 很多萌新日常使用电脑,一定常用“百度网盘”这款软件,相信你一定被它几十一百kb的下载网速折磨到炸: (提速前,抓狂ing) 而今天为大家介绍一个官方、简单且高效的提速方法。不需下载、破解等繁杂操作,只需点几个按钮,效

    2024年02月05日
    浏览(12)
  • 大模型重构行业,百度网盘再度抢跑?

    随着ChatGPT爆火出圈,AI大模型逐渐渗透到各个行业和领域,诸多大厂也纷纷发布了自己的大模型产品。而在国内AI大模型的市场上,百度的文心大模型无疑是其中较为有名的一个。于是,在国内大厂都在探索如何在大模型时代取得更多优势时,百度大模型也不再局限于某个特

    2024年02月09日
    浏览(10)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包