当前位置: 首页 > news >正文

腾讯云可以做网站吗网站建设材料

腾讯云可以做网站吗,网站建设材料,如何搭建个人网站,租房网站模板办公自动化-Python如何提取Word标题并保存到Excel中#xff1f; 应用场景需求分析实现思路实现过程安装依赖库打开需求文件获取word中所有标题去除不需要的标题创建工作簿和工作表分割标题功能名称存入测试对象GN-TC需求标识符存入测试项标识存入需求标识符 完整源码实现效果学… 办公自动化-Python如何提取Word标题并保存到Excel中 应用场景需求分析实现思路实现过程安装依赖库打开需求文件获取word中所有标题去除不需要的标题创建工作簿和工作表分割标题功能名称存入测试对象GN-TC需求标识符存入测试项标识存入需求标识符 完整源码实现效果学习总结 应用场景 为啥要提这个话题呢测试小伙伴遇到一个问题他的痛点是想把需求文档word版中的需求标识符、功能名称挨个复制到测试计划中 这对他来说是非常痛苦的如果需求文档内容过于庞大对他来说需要好几天才能复制完这些标识符 具体的比如以下word 他想把以上word标题中的标识符和名称复制到如下表格中 测试对象测试项标识需求标识组织管理GN-TC-US-ADMIN-ZZGLUS-ADMIN-ZZGL组织管理GN-TC-US-ADMIN-ZZGLUS-ADMIN-ZZGL组织管理GN-TC-US-ADMIN-ZZGLUS-ADMIN-ZZGL组织管理GN-TC-US-ADMIN-ZZGLUS-ADMIN-ZZGL组织管理GN-TC-US-ADMIN-ZZGLUS-ADMIN-ZZGL 针对这个简单的需求如何用python来实现呢 需求分析 需求的标题为序号[标识符]功能名称测试计划中表格内容 字段说明测试对象对应需求中的功能名称测试项标识GN-TC需求中的标识符需求标识符需求中的标识符 经过分析其实就是把需求中的标题提取出来然后进行分割分别写入测试计划对应的表格中即可。 实现思路 打开指定目录下的需求文档获取需求文档中的所有标题当标题中只有符号“[” 和 ]时列表创建excel工作簿新建工作表给工作标添加表头比如测试对象、测试项标识、需求标识分割获取到的标题并存入excel对应的表头下。 实现过程 安装依赖库 我们使用Python的python-docx库和openpyxl库进行以上内容实现那么需要安装这两个库 pip install python-docx pip install openpyxl如果没有网络需要在本地单独安装python-docx有以下两个依赖 lxml和typing-extensions C:\Users\Administratorpip install python-docx Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Requirement already satisfied: python-docx in d:\python37\lib\site-packages (1.1.0) Requirement already satisfied: lxml3.1.0 in d:\python37\lib\site-packages (from python-docx) (4.6.3) Requirement already satisfied: typing-extensions in d:\python37\lib\site-packages (from python-docx) (4.7.1)如果没有网络需要在本地单独安装openpyxl有以下两个依赖 jdcal和 et-xmlfile C:\Users\Administratorpip install openpyxl Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Requirement already satisfied: openpyxl in d:\python37\lib\site-packages (3.0.5) Requirement already satisfied: jdcal in d:\python37\lib\site-packages (from openpyxl) (1.4.1) Requirement already satisfied: et-xmlfile in d:\python37\lib\site-packages (from openpyxl) (1.0.1)打开需求文件 需要导入对应的库文件名称写自己的需求文件即可 import docx from openpyxl import Workbookdoc docx.Document(./XX需求.docx)获取word中所有标题 先创建和列表用于存放标题 headings []for para in doc.paragraphs:if para.style.name.startswith(Heading):headings.append(para.text) print(headings)此时会输出所有的标题 [XX管理系统, [US-ADMIN]ADMIN, [US-ADMIN-ZZGL]组织管理, [US-ADMIN-ZZGL-YHGL]用户管理, 功能描述, 输入输出, 数据流向, [US-ADMIN-ZZGL-JGYHGL]机构用户管理, 功能描述, 输入输出, 数据流向, [US-ADMIN-PZGL]配置管理, [US-ADMIN-PZGL-ZZJG]组织机构, 功能描述, 输入输出, 数据流向, [US-ADMIN-PZGL-GWXX]岗位信息, 功能描述, 输入输出, 数据流向, [US-ADMIN-PZGL-JSXX]角色信息,功能描述, 输入输出, 数据流向, [US-AQGLY]SUPERADMIN,[US-SUPERADMIN-XTPZ]系统配置, [US-SUPERADMIN-XTPZ-PZGL]配置管理,功能描述, 输入输出, 数据流向, [US-SUPERADMIN-YHPZ]用户配置,[US-SUPERADMIN-YHPZ-YHJS]用户角色, 功能描述, 输入输出, 数据流向, [ US-SUPERADMIN-YHPZ-QXFP]权限分配, 功能描述, 数据流向, [US-SUPERADMIN-YHPZ-CZMM]重置密码, 功能描述, 输入输出, 数据流向, [US-SUPERADMIN-RZ]日志, 功能描述, 输入输出, 数据流向]去除不需要的标题 以上获取所有标题后有的不是我们想要的比如功能描述、输入输出、数据流向等标题是不需要的我们需要的标题是比如[US-SUPERADMIN-RZ]日志标题获取后判断是否有符号“[” 和 “]”如果有再存入列表 headings []for para in doc.paragraphs:if para.style.name.startswith(Heading):if [ in para.text or ] in para.text:headings.append(para.text) print(headings)此时就去掉了多余的标题内容 [[US-ADMIN]ADMIN, [US-ADMIN-ZZGL]组织管理, [US-ADMIN-ZZGL-YHGL]用户管理, [US-ADMIN-ZZGL-JGYHGL]机构用户管理, [US-ADMIN-PZGL]配置管理, [US-ADMIN-PZGL-ZZJG]组织机构,[US-ADMIN-PZGL-GWXX]岗位信息, [US-ADMIN-PZGL-JSXX]角色信息, [US-AQGLY]SUPERADMIN, [US-SUPERADMIN-XTPZ]系统配置, [US-SUPERADMIN-XTPZ-PZGL]配置管理, [US-SUPERADMIN-YHPZ]用户配置, [US-SUPERADMIN-YHPZ-YHJS]用户角色, [ US-SUPERADMIN-YHPZ-QXFP]权限分配, [US-SUPERADMIN-YHPZ-CZMM]重置密码, [US-SUPERADMIN-RZ]日志]创建工作簿和工作表 创建一个工作簿然后在工作簿中创建一个工作表并在工作表中设置表头为测试对象、测试项标识、需求标识 wb Workbook()sheet wb.create_sheet(data)# ws wb.active headers [测试对象, 测试项标识, 需求标识符] for col_num, header in enumerate(headers, start1):sheet.cell(row1, columncol_num, valueheader)分割标题 去掉标题中的左书名号[使用右书名号“]”进行分割左边即为需求标识符右边即为功能名称拼接测试项标题为GN-TC需求标识符 c3 [] c5 [] c7 [] for content in headings:c1 content.strip([)c2 c1.split(])[0]c3.append(c2)c4 c1.split(])[1]c5.append(c4)c6 GN-TC- c2c7.append(c6)print(c1) print(c3) print(c5) print(c7)其中c1为去掉所有左书名号 US-ADMIN]ADMIN US-ADMIN-ZZGL]组织管理 US-ADMIN-ZZGL-YHGL]用户管理 US-ADMIN-ZZGL-JGYHGL]机构用户管理[US-ADMIN-PZGL]配置管理 US-ADMIN-PZGL-ZZJG]组织机构 US-ADMIN-PZGL-GWXX]岗位信息[US-ADMIN-PZGL-JSXX]角色信息[US-AQGLY]SUPERADMIN US-SUPERADMIN-XTPZ]系统配置[US-SUPERADMIN-XTPZ-PZGL]配置管理 US-SUPERADMIN-YHPZ]用户配置 US-SUPERADMIN-YHPZ-YHJS]用户角色US-SUPERADMIN-YHPZ-QXFP]权限分配 US-SUPERADMIN-YHPZ-CZMM]重置密码 US-SUPERADMIN-RZ]日志c3所有需求标识符 [US-ADMIN, US-ADMIN-ZZGL, US-ADMIN-ZZGL-YHGL,US-ADMIN-ZZGL-JGYHGL, [US-ADMIN-PZGL, US-ADMIN-PZGL-ZZJG, US-ADMIN-PZGL-GWXX, [US-ADMIN-PZGL-JSXX, [US-AQGLY,US-SUPERADMIN-XTPZ, [US-SUPERADMIN-XTPZ-PZGL, US-SUPERADMIN-YHPZ,US-SUPERADMIN-YHPZ-YHJS, US-SUPERADMIN-YHPZ-QXFP, US-SUPERADMIN-YHPZ-CZMM, US-SUPERADMIN-RZ]c5功能名称 [ADMIN, 组织管理, 用户管理, 机构用户管理, 配置管理, 组织机构, 岗位信息, 角色信息, SUPERADMIN, 系统配置, 配置管理, 用户配置, 用户角色, 权限分配, 重置密码, 日志]c7测试项名称 [ GN-TC-US-ADMIN, GN-TC-US-ADMIN-ZZGL, GN-TC-US-ADMIN-ZZGL-YHGL, GN-TC-US-ADMIN-ZZGL-JGYHGL, GN-TC-US-ADMIN-PZGL, GN-TC-US-ADMIN-PZGL-ZZJG, GN-TC-US-ADMIN-PZGL-GWXX, GN-TC-US-ADMIN-PZGL-JSXX, GN-TC-US-AQGLY, GN-TC-US-SUPERADMIN-XTPZ, GN-TC-US-SUPERADMIN-XTPZ-PZGL, GN-TC-US-SUPERADMIN-YHPZ, GN-TC-US-SUPERADMIN-YHPZ-YHJS, GN-TC-US-SUPERADMIN-YHPZ-QXFP, GN-TC-US-SUPERADMIN-YHPZ-CZMM, GN-TC-US-SUPERADMIN-RZ]功能名称存入测试对象 for i, heading in enumerate(c5):sheet.cell(rowi2, column1, valueheading)GN-TC需求标识符存入测试项标识 for i, heading in enumerate(c7):sheet.cell(rowi2, column2, valueheading)存入需求标识符 for i, heading in enumerate(c3):sheet.cell(rowi2, column3, valueheading)完整源码 # -*- coding:utf-8 -*- # 作者虫无涯 # 日期2024/5/23 # 文件名称test_word.pyimport docx from openpyxl import Workbookdoc docx.Document(./XX需求.docx)headings []for para in doc.paragraphs:if para.style.name.startswith(Heading):if [ in para.text or ] in para.text:headings.append(para.text) # print(headings)wb Workbook()sheet wb.create_sheet(data)# ws wb.active headers [测试对象, 测试项标识, 需求标识符] for col_num, header in enumerate(headers, start1):sheet.cell(row1, columncol_num, valueheader)# print(headings)c3 [] c5 [] c7 [] for content in headings:c1 content.strip([)c2 c1.split(])[0]c3.append(c2)c4 c1.split(])[1]c5.append(c4)c6 GN-TC- c2c7.append(c6) # print(c1) # print(c3) # print(c5) # print(c7)for i, heading in enumerate(c5):sheet.cell(rowi2, column1, valueheading)for i, heading in enumerate(c7):sheet.cell(rowi2, column2, valueheading)for i, heading in enumerate(c3):sheet.cell(rowi2, column3, valueheading)wb.save(./data.xlsx)实现效果 学习总结 以上还有优化的空间比如 字符串中间有空格或者其他多余的内容如何处理新建的excel如何对表头进行字体、颜色等设置表格列宽如何调整整个表格字体如何设置 等等。
http://www.dnsts.com.cn/news/97200.html

相关文章:

  • ag电子游戏网站开发合肥 网站建设
  • 最专业的网站建设机构腾讯企业邮箱登陆入口
  • 什么网站可以做平面赚钱南京中建乡旅建设投资有限公司网站
  • 理性仁网站如何做估值分析wordpress公司企业
  • 海拉尔网站建设sjteam十大经典营销案例
  • 一般建设网站大概需要多少钱vue.js做个人网站
  • 无需下载直接进入的网站的代码百度深圳总部
  • 商丘做建设网站的公司行业网站建设费用明细
  • 贵阳网站制作方舟网络网络销售适合什么人做
  • 杨凌开发建设局网站免费外贸接单网站
  • 做网站服务器一年多少钱杭州网站制作流程
  • 中国科协网站建设招标网页小游戏入口
  • 婚庆网站策划书福州网站建设个人兼职
  • 音乐网站可做哪些内容三星网上商城怎么取消订单
  • 做家装网站客户来源多吗企业oa系统价格
  • 商城网站建设策划方案重庆沙坪坝新闻最新消息
  • 学做网站培训机构深圳500强企业排行榜
  • 行业前10的网站建设公司网页制作一年价格
  • 简述网站开发的具体流程网站前端设计软件
  • 深圳市科技网站开发志鸿优化网下载
  • 苏州建设网站哪家好女生读网络营销与电商直播
  • 离线网站制作搜索引擎排名优化方案
  • vue手机网站开发淘宝入口
  • 网站视频播放代码seo接单一个月能赚多少钱
  • 公司内部网站怎么制作学做网站最好的网站
  • 网站代理备案乐清人才网
  • 中移建设招标网站自助建站系统哪个最好用
  • 网站建设 报价邢台网站123
  • 做网站哈尔滨成都网站推广如何
  • 清新网站模板代做网站收费标准