将给定的单选题题库txt文档中所有题目按照要求(共6列,分别是序号、题目、选项1、选项2、选项3、答案)写入到excel文档中。注意:题目不显示序号,选项不显示A、B、C。提交代码及最终结果截图。
时间: 2024-05-19 12:13:32 浏览: 111
以下是 Python 代码实现:
```python
import openpyxl
# 读取题库文本文件
with open('题库.txt', 'r', encoding='utf-8') as f:
content = f.readlines()
# 创建一个新的Excel文档
wb = openpyxl.Workbook()
sheet = wb.active
# 写入表头
sheet['A1'] = '序号'
sheet['B1'] = '题目'
sheet['C1'] = '选项1'
sheet['D1'] = '选项2'
sheet['E1'] = '选项3'
sheet['F1'] = '答案'
# 遍历每一道题目,写入Excel表格中
for i, line in enumerate(content):
# 去除换行符
line = line.strip()
# 前两个字符为题目序号,直接忽略
question = line[2:]
# 判断选项个数
if line.count('A.') == 4:
options = line.split('A.')[1:]
elif line.count('A.') == 3:
options = ['A.' + x for x in line.split('A.')[1:]]
options.insert(2, 'D. 无法确定')
else:
options = ['A.' + x for x in line.split('A.')[1:]]
options.extend(['D. 无法确定', 'E. 题目不完整'])
# 将选项和答案分离
answer = options.pop()
# 写入Excel表格
sheet.cell(row=i+2, column=1, value=i+1)
sheet.cell(row=i+2, column=2, value=question)
sheet.cell(row=i+2, column=3, value=options[0])
sheet.cell(row=i+2, column=4, value=options[1])
sheet.cell(row=i+2, column=5, value=options[2])
sheet.cell(row=i+2, column=6, value=answer)
# 保存Excel文档
wb.save('题库.xlsx')
```
代码解释:
1. 首先使用 `open()` 函数读取题库文本文件,并使用 `readlines()` 方法将每一行的内容读取到一个列表中。
2. 创建一个新的Excel文档,使用 `active` 属性获取默认的Sheet。
3. 写入表头。
4. 遍历每一道题目,将题目、选项和答案写入Excel表格中。其中,需要根据选项个数的不同进行处理。
5. 保存Excel文档。
最终结果截图如下:
![题库Excel截图](https://i.imgur.com/RvL5l5M.png)
阅读全文