大概流程为:
一、首先导入 docx库以及xlwt库
二、需要用到的文档的名称
三、设置一个函数来写入excel,转为可识别通用的“utf8”,然后创建一个表格来将文档里的内容写入到表里去
四、利用for循坏来设置表里多少个为一行
五、在最后设置表的保存路径以及提示是否创建成功
import docx
import xlwt
docFile = "青年大学习.docx"
def write_excel(path):
doc = docx.Document(docFile)
workbook = xlwt.Workbook(encoding='utf-8')
# 创建sheet
data_sheet = workbook.add_sheet('sheet1')
index = 1
for i in range(0, len(doc.paragraphs), 6):
if i + 5 > len(doc.paragraphs):
break
title = doc.paragraphs[i].text
choiceA = doc.paragraphs[i + 1].text
choiceB = doc.paragraphs[i + 2].text
choiceC = doc.paragraphs[i + 3].text
choiceD = doc.paragraphs[i + 4].text
answer = doc.paragraphs[i + 5].text
print(title)
print(choiceA)
print(choiceB)
print(choiceC)
print(choiceD)
print(answer)
data_sheet.write(index, 0, index, xlwt.XFStyle())
data_sheet.write(index, 1, title, xlwt.XFStyle())
data_sheet.write(index, 2, answer.split(":")[1], xlwt.XFStyle())
data_sheet.write(index, 3, choiceA, xlwt.XFStyle())
data_sheet.write(index, 4, choiceB, xlwt.XFStyle())
data_sheet.write(index, 5, choiceC, xlwt.XFStyle())
data_sheet.write(index, 6, choiceD, xlwt.XFStyle())
index += 1
print("--------------------------")
workbook.save(path)
if __name__ == '__main__':
# 设置路径
path = '试题列表.xls'
write_excel(path)
print(u'创建试题列表.xls文件成功')
我为什么要做这个呢?
是因为之前在学校为部门活动弄一个题库,当时一个一个复制粘贴太麻烦了。刚好我又在学习python,我便有了用python来实现的想法。
但是对于我这个初学者来讲,这是很困难的。于是我便翻完了本学期的书本,然后又在网上搜资料。
大概自己捣鼓了几天后,代码还是会报一些错误。最后我便向自己的老师求助了,老师给我讲了大概的,然后我又继续捣鼓,最后在时间紧迫的状况下,还是完成了任务。
这段代码,也并不是特别的完美。因为这段代码的格式固定了,六个为一行。标题、选项A、选项B、选项C、选项D、正确答案。如果你的文档里某道题没有答案D,则可能会把下一题的标题弄到上一题的正确答案那里。哪里不符合格式标准也可能会报错,还好当时她们给我的文档里的格式大部分的都是对的。
试想
如果我不花那么多时间去弄这个代码,那么当时的那个任务可能会提前完成,而且还不会费那么多神去弄代码,搞得自己那么累。
但是
我一点也不这样觉得,我认为这样做很有意义,也特别值得。通过自己的查阅书籍以及网上搜集相关资料还有老师的指导,让我自己学到了很多东西。就比如这次经历,让我提前学习到了如何安装库,以及了解到了docx库和xlwt库的使用,还有利用python来实际的应用,更增加了我对python的兴趣。
这是我第一次利用python来解决实际生活中遇到的问题,感觉还不错,嘿嘿。在以后我会努力的将python运用到实际生活中的,努力做到学以致用!
冲冲冲!