需求:将pdf中的单词,通过正则表达式提取,保存到excel。将excel文件另存为.csv格式,导入到anki制成卡牌学习。
注:因为本人是业余,水平有限,如果讲解有错误,欢迎指正。另外,本文使用的926词汇pdf资料请自行准备。
目录
全部代码
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')
代码效果
处理