guosong1213 发表于 2019-12-11 09:14

将word版题库转换为Excel版

最近单位的网上考试比较多,大多都跟当前工作内容没多大联系,所以就做了一些浏览器插件自动做题。但是需要先将word版题库转换为Excel版。

1、先观察word版题库,去掉大题题目,所有题目必须都是选择题,都有选项和答案。
确保没有空行,每个选项的格式一样。
题目、选项和答案分别一行,答案在每个题目的最后一行。
每个选项一行,换行符不能是手动换行符。
看一看最多有几个选项,假设最多的有5个选项。

2、需要的包:
import docx
import xlwt
docx和xlwt需要先安装。

3、代码如下:
第一列没有写入内容,最后自己加上序号。


tiKu = "题库.docx"#文件路径
count = 0   #用于Excel统计换行

doc = docx.Document(tiKu) #打开word题库
wbk = xlwt.Workbook()#打开Excel,先自己新建一个Excel,命名为题库。
sheet = wbk.add_sheet('sheet 1' , cell_overwrite_ok=True)#工作表1

for para in doc.paragraphs:#按行读取word文档
    if 'A.' in para.text:
      sheet.write(count,2,para.text)    #第3列写入内容
    elif 'B.' in para.text:
      sheet.write(count, 3, para.text)# 第4列写入内容
    elif 'C.' in para.text:
      sheet.write(count, 4, para.text)# 第5列写入内容
    elif 'D.' in para.text:
      sheet.write(count, 5, para.text)#第6列写入内容
    elif 'E.' in para.text:
      sheet.write(count, 6, para.text)# 第7列写入内容
    elif '答案' in para.text:
      sheet.write(count, 7, para.text)# 第8列写入内
      count = count + 1      #进入下一行
    else:
      sheet.write(count, 1, para.text)# 第2列写入内容
wbk.save('题库.xls')

yaerhuo 发表于 2020-1-20 14:31

guosong1213 发表于 2020-1-20 07:38
保存的是xls格式

谢谢,我再转一下csv格式

guosong1213 发表于 2019-12-11 09:56

chaselove 发表于 2019-12-11 09:46
这word处理起来也不轻松呀

一般考试平台下发的word题库格式差不多就是这样的,有的不用处理,有的只利用word的替换功能,稍作修改就可以了。

zhourunfav 发表于 2019-12-11 09:30

不错,谢谢分享,Python是哪个版本的

chaselove 发表于 2019-12-11 09:46

这word处理起来也不轻松呀

airabout 发表于 2019-12-11 10:09

可以可以 前来学习了!

Corvus 发表于 2019-12-11 10:19

咦,这是个思路,要好好观摩学习

zhangchuanfei 发表于 2019-12-11 10:43

不错,谢谢分享.

chen9788 发表于 2019-12-11 10:47

做题插件分享吗?最近做题痛苦,过几天截止了

guosong1213 发表于 2019-12-11 12:02

chen9788 发表于 2019-12-11 10:47
做题插件分享吗?最近做题痛苦,过几天截止了

考试不一样,插件也不一样,你是什么考试

Wilham 发表于 2019-12-11 12:02

这个很实用,就是不知道自己弄不弄的来,先试一试
页: [1] 2 3
查看完整版本: 将word版题库转换为Excel版