Python脚本实现自动化处理Excel选择题

 更新时间:2026年05月09日 08:38:26   作者:IT小本本  
本文介绍了一个自动整理选择题的Python脚本,可以将秒钟自动将杂乱的试题题题库整理成Excel表格格式,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下

亲爱的各位小伙伴,你是否经历过这样的困境:

手里有一份杂乱的试题库,题目、选项、答案混在一起,想要整理成规范的表格格式,却要手动复制粘贴几百道题?

别急!今天我要分享一个超实用的Python脚本,让你5秒钟自动整理任意数量的选择题,从此告别手动整理的噩梦。

这个脚本能做什么?

想象一下,你的原始数据是这样的:

运行脚本后,你会得到这样的Excel表格:

题目选项A选项B选项C选项D答案
1.下列选项中哪项不属于间接申报的范围?( )A、资本项目管理涉外收付款B、货物贸易进出口核查涉外收付款C、代发工资类涉外收付款D、境内居民个人通过境内银行与境内非居民个人之间发生的人民币收付款D
2.关于境内居民通过境内银行与境外非居民发生的收入和支付款项,下列哪项说法不正确的是( )。A、由境内居民分别按照其资金来源和资金用途性质进行申报B、境内银行应在基础信息中的"对方付款人/收款人名称"前添加"(JW)"字样C、"付款人/收款人常驻国家(地区) "填写境外非居民的常驻国家或地区C

完全自动化,零手动操作!

核心功能拆解

智能读取Excel

df = pd.read_excel('data.xlsx', header=None)
lines = df[0].dropna().astype(str).tolist()
  • 读取Excel第一列的所有数据
  • 自动清理空行,转换为列表

按题号自动切分

questions = re.split(r'\n(?=\d+\.)', text.strip())
  • 使用正则表达式识别题号(1. 2. 3.)
  • 自动将混乱的文本分割成独立的题目

精准提取信息

  • 题目:第一行
  • 选项:识别 A、B、C… 开头的行
  • 答案:用正则表达式查找"答:"后的内容

结构化输出

result_df.to_excel("整理后题库.xlsx", index=False)
  • 生成规范的Excel表格
  • 每道题一行,每个字段一列

案例展示

这个脚本已成功处理过涉外收付款申报财务管理法律法规等多个领域的试题库。

处理前的混乱数据:

62.境内银行涉外收付款凭证包括哪些?
A、《涉外收入申报单》
B、《境外汇款申请书》
C、《对外付款/承兑通知书》
D、《境内收入申报单》
E、《境内汇款申请书》
F.《境内付款/承兑通知书》
答:ABC

87.一般情况下,对外付款/承兑通知书中的付款金额应满足以下哪几个平衡关系: (    )
A、付款金额=现汇金额+购汇金额+其他金额
B、付款金额≥现汇金额+购汇金额+其他金额
C、付款金额=第一行交易编码对应的金额+第二行交易编码对应的金额
D、付款金额=实际付款金额
E、《境内汇款申请书》
答:AC

处理后的规范表格:

题号题目选项A选项B选项C选项D选项E选项F答案
62境内银行涉外收付款凭证包括哪些?A、《涉外收入申报单》B、《境外汇款申请书》C、《对外付款/承兑通知书》D、《境内收入申报单》E、《境内汇款申请书》F、《境内付款/承兑通知书》ABC
87一般情况下,对外付款/承兑通知书中的付款金额应满足以下哪几个平衡关系A、付款金额=现汇金额+购汇金额+其他金额B、付款金额≥现汇金额+购汇金额+其他金额C、付款金额=第一行交易编码对应的金额+第二行交易编码对应的金额D、付款金额=实际付款金额AC

看!再复杂的题目也能完美处理!

特别亮点:

  • 自动识别多选题(ABC、AC等多个答案)
  • 支持A-F六个选项,轻松处理复杂题型
  • 保留原始题号和完整题目信息
  • 处理速度快,4道题不到1秒钟

为什么要用这个脚本?

对比项手动整理用脚本
100道题耗时2-3小时5秒钟
出错率5-10%0%
重复使用每次都要做一次编写,永久使用
心情😫😎

快速开始

第一步:准备数据

  • 将试题放在Excel的第一列
  • 保存为 data.xlsx

第二步:安装依赖

pip install pandas openpyxl

第三步:运行脚本

python script.py

第四步:获得结果

  • 自动生成 整理后题库.xlsx
  • 打开即用!

适用场景

教师整理试卷

学生制作错题本

培训机构管理题库

在线教育平台数据处理

考试复习资料整理

企业员工培训题库

资格证考试备考

财务、法律等专业领域题库整理

小贴士

  1. 支持多种选项格式:A、 A. A. 都能识别
  2. 支持A-F六个选项:轻松处理多选题
  3. 答案识别灵活:支持"答:"和"答:"两种格式
  4. 自动去重:重复的题目也能正确处理
  5. 支持多行答案:ABC、ABCD等多选答案完美处理
  6. 保留原始信息:题号、题目、选项、答案一个不少

全部实现代码

import pandas as pd
import re

# =========================
# 读取Excel
# =========================
df = pd.read_excel('data.xlsx', header=None)

# 第一列转列表
lines = df[0].dropna().astype(str).tolist()

# 合并成文本
text = "\n".join(lines)

# =========================
# 按题号切分
# =========================
questions = re.split(r'\n(?=\d+\.)', text.strip())

result = []

for q in questions:

    row = {
        "题目": "",
        "选项A": "",
        "选项B": "",
        "选项C": "",
        "选项D": "",
        "选项E": "",
        "选项F": "",
        "答案": ""
    }

    q_lines = q.strip().split("\n")

    # 题目
    row["题目"] = q_lines[0]

    # 答案
    answer_match = re.search(r'答[::]\s*([A-F]+)', q)
    if answer_match:
        row["答案"] = answer_match.group(1)

    # 选项
    for line in q_lines[1:]:

        line = line.strip()

        match = re.match(r'^([A-F])[、\..](.*)', line)

        if match:
            option = match.group(1)
            content = match.group(2).strip()

            row[f"选项{option}"] = f"{option}、{content}"

    result.append(row)

# =========================
# 输出结果
# =========================
result_df = pd.DataFrame(result)

# 保存Excel
result_df.to_excel("整理后题库.xlsx", index=False)

print(result_df)

这个脚本完全开源免费,你可以:

  • 直接使用
  • 根据需要修改
  • 分享给朋友
  • 用于商业项目

到此这篇关于Python脚本实现自动化处理Excel选择题的文章就介绍到这了,更多相关Python自动化处理Excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 创建虚拟环境打包py文件的实现步骤

    创建虚拟环境打包py文件的实现步骤

    使用虚拟环境,可以为每个项目创建一个独立的Python环境,每个环境都有自己的库和版本,从而避免了依赖冲突,本文主要介绍了创建虚拟环境打包py文件的实现步骤,感兴趣的可以了解一下
    2024-04-04
  • python代码xml转txt实例

    python代码xml转txt实例

    这篇文章主要介绍了python代码xml转txt实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python判断列表为空的三种方法总结

    python判断列表为空的三种方法总结

    这篇文章主要介绍了python判断列表为空的三种方法总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 使用Python随机生成数据的方法

    使用Python随机生成数据的方法

    这篇文章主要介绍了使用Python随机生成数据的方法,在日常开发中竟然会遇到需要测试大量数据的地方,那么随机生成数据就可以有效的加快我们的效率,通过Python_Faker生成测试数据需要安装Faker包,需要的朋友可以参考下
    2023-10-10
  • 关于pyqt5控件自适应窗口超详细知识点汇总

    关于pyqt5控件自适应窗口超详细知识点汇总

    这篇文章主要介绍了关于pyqt5控件自适应窗口超详细知识点汇总,有了布局,再在布局中放置各种控件,我们就能让控件实现自适应的效果,需要的朋友可以参考下
    2023-03-03
  • Python编程利用Numpy和PIL库将图片转化为手绘

    Python编程利用Numpy和PIL库将图片转化为手绘

    这篇文章主要介绍了Python编程利用Numpy和PIL库将一张图片转化为手绘风格,文中附含详细实现的示例代码,有需要的朋友可以借鉴参考下
    2021-09-09
  • python config文件的读写操作示例

    python config文件的读写操作示例

    这篇文章主要介绍了python config文件的读写操作,结合简单示例形式分析了Python针对config文件的设置、读取、写入相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • 探索 Python Restful 接口测试的奥秘

    探索 Python Restful 接口测试的奥秘

    掌握Python Restful 接口测试,让你的后端服务像流水一样顺畅,本指南将带你轻松穿梭于断言和请求之间,搞定所有测试难题,一起来看,让代码在你的指尖跳舞吧!
    2023-12-12
  • Mac更新python3.12 解决pip3安装报错问题小结

    Mac更新python3.12 解决pip3安装报错问题小结

    Mac使用homebrew更新了python3.12,删除了以前的版本和pip3安装软件时候报错,下面小编给大家分享Mac更新python3.12 解决pip3安装报错问题,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • VS2022+Python3.11实现C++调用python接口

    VS2022+Python3.11实现C++调用python接口

    在C/C++中嵌入Python,可以使用Python提供的强大功能,通过嵌入Python可以替代动态链接库形式的接口,本文主要介绍了VS2022+Python3.11实现C++调用python接口,感兴趣的可以了解一下
    2023-12-12

最新评论