【办公类-21-16】 20240410三级育婴师 344多选题(题目与答案合并word)

news2024/11/15 13:38:42

 作品展示

背景需求:

前文将APP题库里的育婴师题目下载到EXCEL,并进行手动整理【办公类-21-14】 20240406三级育婴师 344道多选题 UIBOT下载+整理-CSDN博客文章浏览阅读287次,点赞8次,收藏9次。【办公类-21-14】 20240406三级育婴师 344道多选题 UIBOT下载+整理https://blog.csdn.net/reasonsummer/article/details/137420345

如果把EXCEL全部内容复制黏贴到word里,大约有14页

我感觉打印纸张较多,而且实际上背题,就只要把正确答案看眼熟。

因此我希望获得以下的样式

1、只要多选题正确选项的文字答案,并将答案放在题目的括号里

2、括号(正确答案)加粗

第一步:从EXCEL提取每题正确答案字母(多个),并将对应选项后面的文字,写入题目的()(英文状态括号)内,写入一个EXCEL


'''
育婴师多选题,从EXCEL提取内容,将选项答案(不要字母)写入题目中的()内
作者:AI对话大师,阿夏
时间:2024年4月10日
'''



import openpyxl
from openpyxl.utils.cell import coordinate_from_string, column_index_from_string, get_column_letter
import re,time

from openpyxl.styles import Font

path = r'C:\Users\jg2yXRZ\OneDrive\桌面\育婴师理论题爬取'

# 打开Excel文件
workbook = openpyxl.load_workbook(path + r'\多选题(344).xlsx')

# 选择第一个工作表
sheet = workbook.active

# 遍历 C 列和 B 列的每个单元格
for c_cell, b_cell in zip(sheet['C'], sheet['B']):
    # 获取 C 列和 B 列单元格的行号和值
    c_row = c_cell.row
    c_value_all = c_cell.value
    b_row = b_cell.row
    b_value = b_cell.value
    # print(c_row)
    print(c_value_all)
    values=[]
    for c_value in str(c_value_all):
        print(c_value)

        # 在 D 到 K 列之间寻找与 C 列内容相同的单元格,并读取右侧一格的内容
        matching_cells = []
        for column in sheet.iter_cols(min_col=4, max_col=15, min_row=c_row, max_row=c_row):
            for cell in column:
                if cell.value == c_value:
                    # 获取右侧一格的单元格
                    next_cell = sheet.cell(row=cell.row, column=cell.column + 1)
                    next_cell_value = next_cell.value

                    matching_cells.append(next_cell_value)

        # 输出找到的单元格右侧一格的内容
        print(f"C 列单元格 {c_row} 的右侧一格的内容:")
        for v in matching_cells:
            print(v)
            vv=str(v)+' '
            values.append(vv)
        print(values)
        value=' '.join(values)
        print(value)
        
        

    # 查找左括号和右括号的索引位置
    left_parenthesis_index = b_value.find('(')
    right_parenthesis_index = b_value.find(')')

    if left_parenthesis_index != -1 and right_parenthesis_index != -1:
        # 提取括号前后的内容
                # 提取括号前后的内容
        before = b_value[:left_parenthesis_index]
        after = b_value[right_parenthesis_index + 1:]

        # 拼接新的内容
        new_value = f'{before}({value}){after}'
        value = Font(bold=True)

        # 将新内容写入 B 列单元格
        sheet.cell(row=b_row, column=2).value = new_value

# 删除 C 列到 K 列的内容
sheet.delete_cols(3,15)



# 保存修改后的 Excel 文件为 234.xlsx
workbook.save(path + r'\多选题只有答案.xlsx')

# time.sleep(5)

# # 关闭 Excel 文件
# workbook.close()

# import openpyxl
# import re
# from openpyxl.styles import Font

# # 打开Excel文件
# workbook = openpyxl.load_workbook(path + r'\多选题只有答案.xlsx')

# # 选择要操作的工作表
# worksheet = workbook['Sheet1']  # 替换为你的工作表名

# # 遍历所有单元格
# for row in worksheet.iter_rows():
#     for cell in row:
#         # 获取单元格的值
#         cell_value = cell.value

#         # 使用正则表达式提取括号和其中的文字
#         matches = re.findall(r"\((.*?)\)", cell_value)
#         if matches:
#             for match in matches:
#                 # 构建加粗的正则表达式模式
#                 pattern = r"\(" + re.escape(match) + r"\)"

#                 # 替换匹配的文本为加粗格式
#                 cell_value = re.sub(pattern, r"<b>\g<0></b>", cell_value)

#             # 将带有加粗格式的文本赋值回单元格
#             cell.value = cell_value
#             # 设置单元格字体为加粗
#             cell.font = Font(bold=True)

# # 保存修改后的Excel文件
# workbook.save(path + r'\多选题只有答案1.xlsx')

​​

​​

二、手动将整理后的EXCEL文档内容全选,复制到word内(文字黏贴)

复制EXCEL(复制EXCEL两列,黏贴到docx,以文字方式)

​黏贴新建docx

​​

第三步:对word内部文字中()部分文字进行加粗

'''
育婴师多选题,对docx内答案所在的括号内的文字加粗
作者:AI对话大师,阿夏
时间:2024年4月10日
'''


from docx import Document
from docx.shared import Pt, RGBColor


# 打开Word文档
path=r'C:\Users\jg2yXRZ\OneDrive\桌面\育婴师理论题爬取\docx'
doc = Document(path + r'\多选题.docx')

# 遍历段落
for para in doc.paragraphs:
    # 获取段落文本
    text = para.text

    # 查找括号 '(' 和 ')' 的位置
    start_index = text.find('(')
    end_index = text.find(')')

    if start_index != -1 and end_index != -1:
        # 拆分前、中、后部分
        before_text = text[:start_index]
        middle_text = text[start_index:end_index+1]
        after_text = text[end_index+1:]

        # 清空原始段落内容
        para.clear()

        # 添加拆分后的内容到段落
        para.add_run(before_text)
        run = para.add_run(middle_text)
        run.bold = True
        para.add_run(after_text)

# 保存修改后的Word文档
doc.save(path + r'\多选题1.docx')
 

第四步:把只有正确文字答案的单选题docx检查一下(可能题目有会两个(),会导致答案被写到其他格括号里)

另存为PDF,便于分享和打印

只有9页了(15页缩到9页)

打印效果:

核对过程中,我发现几个答案中间考空格分割不适合,容易看岔,所以我修改代码,

原始的

修改的(讯飞输入法里面的特殊符号)

'''
育婴师多选题,从EXCEL提取内容,将选项答案(不要字母)写入题目中的()内
作者:AI对话大师,阿夏
时间:2024年4月10日
'''



import openpyxl
from openpyxl.utils.cell import coordinate_from_string, column_index_from_string, get_column_letter
import re,time

from openpyxl.styles import Font

path = r'C:\Users\jg2yXRZ\OneDrive\桌面\育婴师理论题爬取'

# 打开Excel文件
workbook = openpyxl.load_workbook(path + r'\多选题(344).xlsx')

# 选择第一个工作表
sheet = workbook.active

# 遍历 C 列和 B 列的每个单元格
for c_cell, b_cell in zip(sheet['C'], sheet['B']):
    # 获取 C 列和 B 列单元格的行号和值
    c_row = c_cell.row
    c_value_all = c_cell.value
    b_row = b_cell.row
    b_value = b_cell.value
    # print(c_row)
    print(c_value_all)
    values=[]
    for c_value in str(c_value_all):
        print(c_value)

        # 在 D 到 K 列之间寻找与 C 列内容相同的单元格,并读取右侧一格的内容
        matching_cells = []
        for column in sheet.iter_cols(min_col=4, max_col=15, min_row=c_row, max_row=c_row):
            for cell in column:
                if cell.value == c_value:
                    # 获取右侧一格的单元格
                    next_cell = sheet.cell(row=cell.row, column=cell.column + 1)
                    next_cell_value = next_cell.value

                    matching_cells.append(next_cell_value)

        # 输出找到的单元格右侧一格的内容
        print(f"C 列单元格 {c_row} 的右侧一格的内容:")
        for v in matching_cells:
            print(v)
            vv=str(v)+'丨'
            # vv=str(v)+' '
            values.append(vv)
        print(values)
        value=' '.join(values)
        print(value)
        
        

    # 查找左括号和右括号的索引位置
    left_parenthesis_index = b_value.find('(')
    right_parenthesis_index = b_value.find(')')

    if left_parenthesis_index != -1 and right_parenthesis_index != -1:
        # 提取括号前后的内容
                # 提取括号前后的内容
        before = b_value[:left_parenthesis_index]
        after = b_value[right_parenthesis_index + 1:]

        # 拼接新的内容
        new_value = f'{before}({value}){after}'
        value = Font(bold=True)

        # 将新内容写入 B 列单元格
        sheet.cell(row=b_row, column=2).value = new_value

# 删除 C 列到 K 列的内容
sheet.delete_cols(3,15)



# 保存修改后的 Excel 文件为 234.xlsx
workbook.save(path + r'\多选题只有答案1.xlsx')

# time.sleep(5)

# # 关闭 Excel 文件
# workbook.close()

# import openpyxl
# import re
# from openpyxl.styles import Font

# # 打开Excel文件
# workbook = openpyxl.load_workbook(path + r'\多选题只有答案.xlsx')

# # 选择要操作的工作表
# worksheet = workbook['Sheet1']  # 替换为你的工作表名

# # 遍历所有单元格
# for row in worksheet.iter_rows():
#     for cell in row:
#         # 获取单元格的值
#         cell_value = cell.value

#         # 使用正则表达式提取括号和其中的文字
#         matches = re.findall(r"\((.*?)\)", cell_value)
#         if matches:
#             for match in matches:
#                 # 构建加粗的正则表达式模式
#                 pattern = r"\(" + re.escape(match) + r"\)"

#                 # 替换匹配的文本为加粗格式
#                 cell_value = re.sub(pattern, r"<b>\g<0></b>", cell_value)

#             # 将带有加粗格式的文本赋值回单元格
#             cell.value = cell_value
#             # 设置单元格字体为加粗
#             cell.font = Font(bold=True)

# # 保存修改后的Excel文件
# workbook.save(path + r'\多选题只有答案1.xlsx')

手动复制到docx

'''
育婴师多选题,对docx内答案所在的括号内的文字加粗
作者:AI对话大师,阿夏
时间:2024年4月17日
'''


from docx import Document
from docx.shared import Pt, RGBColor


# 打开Word文档
path=r'C:\Users\jg2yXRZ\OneDrive\桌面\育婴师理论题爬取\docx'
doc = Document(path + r'\多选题2.docx')

# 遍历段落
for para in doc.paragraphs:
    # 获取段落文本
    text = para.text

    # 查找括号 '(' 和 ')' 的位置
    start_index = text.find('(')
    end_index = text.find(')')

    if start_index != -1 and end_index != -1:
        # 拆分前、中、后部分
        before_text = text[:start_index]
        middle_text = text[start_index:end_index+1]
        after_text = text[end_index+1:]

        # 清空原始段落内容
        para.clear()

        # 添加拆分后的内容到段落
        para.add_run(before_text)
        run = para.add_run(middle_text)
        run.bold = True
        para.add_run(after_text)

# 保存修改后的Word文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1612612.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实现联系人前后端界面,实现分页查询04.15

实现联系人前后端界面&#xff0c;实现分页查询项目包-CSDN博客 项目结构 数据库中建立两个表&#xff1a; 完整的后端目录 建立联系人People表&#xff0c;分组Type表&#xff0c;实现对应实体类 根据需求在mapper中写对应的sql语句 查询所有&#xff0c;删除&#xff0c;添…

OpenVINO安装教程 npm版

从 npm Registry安装 OpenVINO™ 工具套件的英特尔发行版 请注意&#xff1a; 仅提供 JavaScript API 专用于所有主要操作系统的用户&#xff1a;Windows、Linux 和 macOS &#xff08;所有 x86_64 / ARM64 架构&#xff09; macOS 仅支持 CPU 推理 系统要求软件要求 Window…

javaWeb项目-大药房管理系统功能介绍

项目关键技术 开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 1、Java语言简介 Ja…

模电期末复习(五)集成运算放大电路

集成运算放大电路 5.1 集成放大电路的特点5.2 集成运放的主要技术指标5.3 集成运放的基本组成部分5.3.1 偏置电路5.3.2 差分放大输入级5.3.3 中间级5.3.4 输出级 5.4 集成运放的典型电路5.4.1 双极型集成运放LM741 5.5 各类集成运放的性能特点5.6 集成运放使用中的几个具体问题…

竞逐智能家居大模型:美的“蓄力”,海尔“疾行”

配图来自Canva可画 随着ChatGPT火热出圈&#xff0c;AI大模型便成为了各行各业必争的高地。“BAT”等互联网大厂、华为、小米等通讯巨头&#xff0c;以及一些垂直AI公司&#xff0c;都开始在大模型市场积极布局。众所周知&#xff0c;发展大模型的关键在于应用场景的落地&…

堆的概念、堆的向下调整算法、堆的向上调整算法、堆的基本功能实现

目录 堆的介绍 堆的概念 堆的性质 堆的结构 堆的向下调整算法 基本思想&#xff08;以建小堆为例&#xff09; 代码 堆的向上调整算法 基本思想&#xff08;以建小堆为例&#xff09; 代码 堆功能的实现 堆的初始化 HeapInit 销毁堆 HeapDestroy 打印堆 HeapPrint …

如何在群晖NAS部署office系统办公服务并实现无公网IP远程编辑文件

文章目录 本教程解决的问题是&#xff1a;1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 本教程解决的问题是&#xff1a; 1.Word&#xff0c;PPT&#xff0c;Excel等重要文件存在本地环境&#xff0c;如何在编…

Linux 用户和组

理解Linux 用户和组的概念 掌握passwd 文件的组成以及作用 掌握shadow 文件的组成以及作用 了解group 文件的内容 1.用户分类&#xff1a; 超级管理员&#xff08;root&#xff09; 普通用户 程序用户 1.用户信息文件 /etc/passwd 文件中存储了所有用户信息。 1.passwd 格…

2024年大学三下乡社会实践活动投稿——你想知道的都在这里

2024年的夏天,我作为一名大学生,满怀激情地参加了三下乡社会实践活动。在这段难忘的经历中,我深刻体验到了农村生活的艰辛与美好,也收获了许多宝贵的经验和感悟。为了将这段经历传递给更多的人,我决定向媒体投稿,发表一篇关于三下乡社会实践活动的通讯稿件。 起初,我选择了传统…

【多线程】CAS的应用 | CAS的概念 | 实现原子类 | 实现自旋锁

文章目录 一、CAS1.什么是CAS2.实现原子类3.实现自旋锁 一、CAS 1.什么是CAS Compare and swap 比较并交换。 比较交换的是 内存 和 寄存器 比如此时有一个内存 : M。 还有两个寄存器A,B ​ CAS ( M , A , B ) :如果M和A的值相同的话&#xff0c;就把M和B的值进行交换(交换的…

UI设计/交互设计/视觉设计项目汇报/作品集Figma/PPT模板

作为UI设计/交互设计/视觉设计师&#xff0c;创建作品集对于向潜在客户或雇主展示您的技能、创造力和风格至关重要。以下分步指南可帮助您创建令人印象深刻的作品集&#xff1a; 选择您的最佳作品&#xff1a;选择您最强大且最相关的设计项目&#xff0c;将其纳入您的作品集。…

Pytorch入门实战: 06-VGG-16算法-Pytorch实现人脸识别

第P6周&#xff1a;VGG-16算法-Pytorch实现人脸识别 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 &#x1f3e1; 我的环境&#xff1a; 语言环境&#xff1a;Python3.8 编译器&#xff1a;Jupyter La…

微信小程序vue.js+uniapp服装商城销售管理系统nodejs-java

本技术是java平台的开源应用框架&#xff0c;其目的是简化Sping的初始搭建和开发过程。默认配置了很多框架的使用方式&#xff0c;自动加载Jar包&#xff0c;为了让用户尽可能快的跑起来spring应用程序。 SpinrgBoot的主要优点有&#xff1a; 1、为所有spring开发提供了一个更快…

python3--lxml pytoml.core.TomlError expected_equals报错解决

文章目录 一、问题二. 解决方法&#xff1a;三. 参考&#xff1a;四. 总结 一、问题 在ubuntu的armbian上的python3中安装lxml时报错了 安装命令是 pip3 install lxml报错简略信息如下图 File "/usr/share/python-wheels/pytoml-0.1.2-py2.py3-none-any.whl/pytoml/par…

iptables命令简介

正文共&#xff1a;3456 字 22 图&#xff0c;预估阅读时间&#xff1a;3 分钟 iptables/ip6tables命令&#xff0c;用于在Linux内核中设置、维护和检查IPv4和IPv6数据包过滤规则的表&#xff0c;从而实现IPv4/IPv6数据包过滤和NAT的管理工具。它可以定义多个不同的表&#xff…

CH341A/B USB转USART/I2C/SPI介绍

CH341A/B USB转USART/I2C/SPI介绍 &#x1f4cd;CH341官方文档&#xff1a;https://www.wch.cn/downloads/CH341DS2_PDF.html CH341A/B是一个USB总线的转接芯片&#xff0c;通过USB总线提供异步串口、打印口、并口以及常用的2线和4线等同步串行接口。 &#x1f341;芯片封装&a…

基于Springboot的社区疫情返乡管控系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的社区疫情返乡管控系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系…

uni-app为图片添加自定义水印(升级版)

前置内容 uni-app为图片添加自定义水印&#xff08;解决生成图片不全问题&#xff09; UI 升级 现在水印样式变成这样了&#xff1a; 代码 <template><canvas v-if"waterMarkParams.display" canvas-id"waterMarkCanvas" :style"canv…

【001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂】

001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂 文章目录 001_IoT/物联网通信协议基础: HTTP、Websocket、MQTT、AMQP、COAP、LWM2M一文搞懂创作背景通信模型ISO/OSI七层模型 和 TCP/IP四层模型网络通信数据包格式&#xff08;Ethernet II&…

Swift-20-基础数据类型

数据定义 语法规则 先来看下下面的代码 import Cocoavar num1 "four" //a var num2: String "four" //b var num3 4 //c var num4: Int 4 //d上面的几行代码都能正常运行&#xff0c;其中a和b行等价&#xff0c;c和d行等价。区另就在于是否声…