doc文件怎么打开,怎样打开doc文件(python自动化办公-docx模块操作Word文档的简单案列)
关于【doc文件怎么打开】,怎样打开doc文件,今天乾乾小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
1、doc文件怎么打开:怎样打开doc文件
文件的类型各种各样,dox文件相信大家见过不少,那么你知道打开dox文件的方式吗?
工具/材料
电脑。
操作方法
dox文件最简单直接的方式就是用Word打开。
鼠标右键单击doc文件,选择“用记事本打开”。
或者使用搜狗浏览器搜索WPS,进入官网进行下载,下载安装后用WPS打开doc文件也是可以的。
也可以通过下载“doc阅读器”来打开doc文件。
2、python自动化办公-docx模块操作Word文档的简单案列
前言
前段时间有小伙伴问二狗,怎么把一个Word文档的题库,写一个python脚本提取到Excel里 .由于数据全是选择题,且文本很有规律,不是很复杂.所以今天二狗就通过本篇文章来分享下二狗的思路和代码.
word文档数据
提取为Excel的格式
编程环境
1.文中电脑操作系统:win10
2.文中所使用的python模块:
(1).os (python自带模块,不需要pip安装)
(2).re (python自带模块,不需要pip安装)
(3).docx (第三方模块,需要pip安装)
安装命令:pip install -i https://
pypi.tuna.tsinghua.edu.cn/simplepython-docx
注意:我们这次要用到的第三方库,就是专门为docx格式的word文档而生的。如果你手头需要处理的是doc格式的word文档,你可以打开word,将其另存为 docx的格式。【注意word 97以上版本支持存储docx文件】
(4).openpyxl (第三方模块,需要pip安装)
安装命令:pip install -i https://
pypi.tuna.tsinghua.edu.cn/simpleopenpyxl
3.文中数据源文件:选择题.docx(如果需要,请后台私信)
4.文中所使用的IDE:VSCODE(安装Jupyter插件)
文档数据结构剖析及代码思路
文档结构
(1)提取答案:由于答案是红色标记的,我们可以读取每一段落的样式,红色的段落就是答案.
分题
(2)分题:这个稍微有点复杂,二狗通过处理每一题前面的题号,来进行的,具体详见代码.
一行2选项
(3)一行2选项:通过split来分割,具体详见代码.
代码拆检
import osimport re import docximport openpyxl
now_path = os.getcwd() # 获取当前ipynb文件的路径doc_file = '选择题.docx' # 要提取的doc文件名excel_file = '选择题.xlsx' # 保存为Excel的文件名wb = openpyxl.Workbook() # 实例化Excel对象ws = wb.active # 创建Excel活动表格tab_head = ['序号','题目','选项1','选项2','选项3','选项4','答案'] #定义Excel表头ws.append(tab_head) #表头写入Excelstart_flag = True # 设置开始状态content_list=[] #初始化内容列表
def jion_path(file_path,file_name): ''' 功能:拼接文件路径 :param file_path: 固定参数,定义拼接的文件路径 :param file_name: 固定参数,定义拼接的文件名称 :return:返回拼接好的文件路径 ''' return os.path.join(file_path,file_name)
这里二狗定义了一个无聊的函数
doc = docx.Document( jion_path(file_path=now_path,file_name=doc_file)).paragraphs # 读取word文档.doc文件 如是.docx文件 需把文件另存为.doc文件
读取docx文档,得到一个段落列表.
段落列表
for content in filter(lambda x: bool(x.text) ,doc[1:]): #遍历段落列表 row = content.text.strip('试题') #去除每一题的'试题'2字 row_list = re.split(r'^\d+\W',row) # 正则切割段落文本
doc[1:]从第二行开始读取,不读取第一行的大标题
filter(lambda x: bool(x.text) ,doc[1:])这里是过滤为空值的段落.
过滤效果
没有过滤的效果 可以看见明显空值
strip和正则切割后的效果
if row_list[1:]:#判断切割后的列表的第一个元素,是否有值 Ture为题目 False为答案选项 if start_flag: # 判断是否为第一行 content_list += row_list[1:] # 如果是第一行就题目添加进空列表content_list start_flag = False # 重制start_flag为False else: # 如果不是第一行 content_list += answer #把answer答案列表添加进content_list content_list.insert(0,number) # content_list列表里第一个位置插入序号 ws.append(content_list) # 把content_list列表写入Excel里 number += 1 #更新下一题的序号 content_list=[] # 重置content_list列表为空,准备添加下一题 content_list += row_list[1:] # 把题目添加进空列表content_list else:# 这里利用python的切片机制 row_list里只有一个元素时 row_list[1:]切片会返回 row_list = [i.strip() for i in re.split(r'\s{4}',row_list[0]) if i ] # 处理一行2答案选项的情况 content_list += row_list # 把ABCD选项文本添加进content_list
超过列表长度的切片方法会返回空列表
处理一行2个答案选项的效果
if row_list[1:] 超过列表长度的切片方法会返回空列表 不会抛出异常
for run in content.runs: #遍历每个段落的文本样式 找的为红色的答案 answer_color = str(run.font.color.rgb) # 获取每个段落的字体颜色 if answer_color == 'FF0000' : # 判断此段落的文字是否为红色 answer = re.findall(r'[A-D]{1}',run.text)#提取答案项对应的字母 break # 停止遍历每个段落的文本样式
找到答案项
此处的break只打破for run in content.runs的循环
本文关键词:怎样打开doc文件压缩包,doc文件用什么软件打开,doc怎么打开 文件,怎么打开doc文件怎么打开,怎样打开doc文件格式。这就是关于《doc文件怎么打开,怎样打开doc文件(python自动化办公-docx模块操作Word文档的简单案列)》的所有内容,希望对您能有所帮助!更多的知识请继续关注《犇涌向乾》百科知识网站:http://www.029ztxx.com!
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。