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

 作品展示

背景需求:

前文将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,timefrom openpyxl.styles import Fontpath = 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.rowc_value_all = c_cell.valueb_row = b_cell.rowb_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.valuematching_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 = Truepara.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,timefrom openpyxl.styles import Fontpath = 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.rowc_value_all = c_cell.valueb_row = b_cell.rowb_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.valuematching_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 = Truepara.add_run(after_text)# 保存修改后的Word文档

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring AOP (一)

本篇主要介绍Spring AOP的基础概念和入门使用 一、AOP的基本概念 AOP是一种面向切面编程的思想&#xff0c;它与IOC并称为Spring 的两大核心思想。什么是面向切面编程呢&#xff0c;具体来说就是对一类事情进行集中统一处理。这听起来像不像前面篇章中所介绍的统一功能处理&am…

二叉树之AVL树

文章目录 1. AVL树的概念&#xff08;logN)1.1背景1.2规则 2.AVL树节点的定义3.AVL树的插入4. AVL树的旋转(重点&#xff09;4.1 新节点插入较高的右子树的右侧&#xff1a;左单璇&#xff1b;4.2 新节点插入较高左子树的左侧&#xff1a;右单璇&#xff1b;4.3&#xff08;双旋…

Axure引用ECharts图表 解决火狐浏览器出错

Axure原型添加Echarts图表&#xff0c;没耐心看文章的可以直接下载示例 Axure中使用ECharts图表示例 1. 打开Axure新建页面 2. 页面添加元件 元件类型随意&#xff0c;矩形、动态面板、热区、图片 甚至段落都可以3. 命名元件 随意命名&#xff0c;单个页面用到多个图表时名…

【读书笔记】 针对ICS的ATTCK矩阵详解(二)

三、持续控制&#xff08;Persistence&#xff09; 该阶段&#xff1a;攻击者试图在您的 ICS 环境中保持其立足点。 持久性包括攻击者用来在重启、更改凭据和其他可能切断其访问的中断时保持对 ICS 系统和设备的访问的技术。用于持久性的技术包括任何访问、操作或配置更改&…

imx6ull设备树驱动--pinctl、ioctl

添加pinctl节点 进入arch/arm/boot/dts目录下dts文件 在iomuxc下添加pinctlled节点 将 GPIO1_IO03 这个 PIN 复用为 GPIO1_IO03&#xff0c;电气属性&#xff08;配置GPIO一些列寄存器&#xff09;值为 0X10B0 添加led设备节点 与上一节一样&#xff0c;在 / 下面添加设备节…

知攻善防应急靶场-Windows(Web1-2-3)

知攻善防应急靶场-Web1 1.要求 2.过程 直接扫网站根目录 发现后门 <?php error_reporting(0); session_start();$key"e45e329feb5d925b"; //该密钥为连接密码32位md5值的前16位&#xff0c;默认连接密码rebeyond$_SESSION[k]$key;session_write_close();$postf…

Pytest精通指南(24)钩子函数-随机执行(pytest-random-order)

文章目录 前言应用场景插件安装参数分析使用方法 前言 pytest-random-order 是一个pytest插件&#xff0c;用于在每次运行测试套件时随机化测试用例的执行顺序。 它可以帮助识别和避免依赖于特定测试执行顺序的问题&#xff0c;从而提高测试的健壮性和可靠性。 应用场景 测试无…

遇到you-get下载报错问题解决

pip3 install you-get安装这里就不赘述了&#xff0c;如果你还不会安装&#xff0c;说明这篇文章不适合你&#xff0c;这篇文章主要解决当执行you-get的报错&#xff1a; 当然你可以加选项–debug具体看一下到底报什么错。 第一步 替换文件 首先&#xff0c;我们下载仓库最新…

https协议的加密方式详解

各位大佬能多多点赞关注评论收藏&#xff0c;球球各位大佬们了&#xff01;&#xff01; &#xff01; 目录 1.为什么要加密&#xff1f; 2.如何加密 1.密钥&#xff08;yue,第四声&#xff09; 2.对称加密 3.非对称加密 4.公证机构 3.总结 1.为什么要加密&#xff1f;…

探索通过GPT和云平台搭建网安实战培训环境

项目背景 网络安全是一个不断演变的领域&#xff0c;面临着日益复杂的挑战和不断扩大的威胁。数字化时代&#xff0c;随着勒索攻击、数据窃取、网络钓鱼等频频出现&#xff0c;网络攻击的威胁指数和影响范围进一步增加&#xff0c;如何防范网络攻击&#xff0c;确保数据安全&a…

共享内存和信号灯集练习

#include <mystdio.h> int main(int argc, const char *argv[]) { //创建key值 key_t key ftok("/home/ubuntu",2); if(key<0) { perror("ftok"); return -1; } printf("key%#x\n",key); …

什么是0-day漏洞,怎么防护0-day漏洞攻击

随着信息技术的快速发展&#xff0c;网络安全问题日益凸显&#xff0c;其中0day漏洞攻击作为一种高级威胁手段&#xff0c;给企业和个人用户带来了极大的风险。下面德迅云安全就对0day漏洞攻击进行简单讲解下&#xff0c;并分享相应的一些安全措施&#xff0c;以期提高网络安全…