python通过docx模块解决doc及docx后缀文件内容的处理
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,import os,shutil,docx,re,timefrom win32com import client as wc#从所有级联目录读取文件到指定目录内def count_files(file
千家信息网最后更新 2025年02月04日python通过docx模块解决doc及docx后缀文件内容的处理
import os,shutil,docx,re,timefrom win32com import client as wc#从所有级联目录读取文件到指定目录内def count_files(file_dir): count=0 for p,d,f in os.walk(file_dir): for c in f: if c.split('.')[-1]=="doc": count +=1 src_dir = os.path.join(p, c) print(src_dir) dst_dir = file_dir + "back" if not os.path.exists(dst_dir): os.makedirs(dst_dir) shutil.copy(src_dir, dst_dir) return count#提取每个docx简历文档里面的邮箱地址,我们这里使用python-docx模块来解决pip install python-docxdef count_mail(file_dir,dst_file): mail_list = [] for parent,dirctiory,files in os.walk(file_dir): for f in files: doc = docx.Document(os.path.join(parent,f)) pattern = re.compile(r'''([a-zA-Z0-9._%+-]+@[a-zA-Z0-9\t\s.-]+(\.[a-zA-Z0-9\t\s]{2,4}))''', re.VERBOSE) for para in doc.paragraphs: for groups in pattern.findall(para.text): mail_list.append(groups[0].replace(" ","")+";") with open(dst_file,'w')as f: f.writelines(mail_list) print("=====================邮件信息写入成功===================")#由于python-docx模块只能处理docx后缀,我们需要处理doc后缀的文件,必须通过win32com模块来把doc后缀转换成docxdef docxTodoc(old_doc,new_doc): word = wc.Dispatch('Word.Application') for parent,directory,files in os.walk(old_doc): for f in files: doc = word.Documents.Open(os.path.join(parent,f)) # 目标路径下的文件 new_filepath=os.path.join(new_doc,f.split(".")[0]+".docx") print(new_filepath) doc.SaveAs(new_filepath, 12, False, "", True, "", False, False, False,False) # 转化后路径下的文件 doc.Close() print(time.time()) word.Quit()if __name__ == '__main__': print(count_files(r"C:\Users\icestick\Desktop\51job_导出简历_20180917")) count_mail(r"C:\Users\icestick\Desktop\new_doc",r"C:\Users\icestick\Desktop\test.txt" ) old_doc = r"C:\Users\icestick\Desktop\51job_导出简历_20180917" #需要把doc目录转成docx格式的原目录 new_doc = r"C:\Users\icestick\Desktop\new_doc" #需要把doc目录转成docx格式的目标目录 mail_extract = r"C:\Users\icestick\Desktop\test.txt" #邮箱提取好的文件 if not os.path.exists(new_doc): os.mkdir(new_doc) print("=====================目录创建成功======================") docxTodoc(old_doc, new_doc) print("=====================docx格式转换成功===================") count_mail(new_doc, mail_extract) else: docxTodoc(old_doc, new_doc) print("=====================docx格式转换成功===================") count_mail(new_doc, mail_extract)
目录
文件
成功
格式
后缀
模块
简历
处理
目标
路径
邮箱
信息
地址
文档
邮件
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云服务器 数据盘
id服务器
网络技术发展趋势的有
mfc把日期输入到数据库
哪里的深圳软件开发公司
大潮政务数据库
封神2 服务器
数据库一致性知乎
上海字跳网络技术有限公司
世界贸易进出口数据库
许昌软件开发成交价
网络安全法 pdf 下载
web服务器是多线程
软件开发实训考核方式
数据库多线程是什么意思
高级软件开发工程师区分
青岛大型互联网科技公司
软件开发文档 产品中的角色
软件开发工程师北京工资
服务器电源最低输入多少伏
苏州线上教育服务器
redis 集群分配数据库
教你开一个mc服务器
服务器打不开本地文件管理
东城数据库加密系统
ENA基因数据库
数据库中对于关系的描述有哪些
网络技术工程师操作题
服务器双图代码
忻州学习网络技术