python实验报告实验总结_python还能干这事

2023-11-16

上文提到python可以干很多事,很多时候生活中的很多问题都可以用代码解决,尤其是那些反复重复的事。今天就拿读研的时候的一个例子给大家说说,如何用代码解决生活中的问题。

问题:导师带了3个班的图形学(100多号人),期末了,平时成绩已经出来了,但是突然要求要在平时的实验报告上通过分数写评语,如图。这个艰巨的任务就落到了我的头上。当时写了5份我就受不了了,因此想到了通过python去解决。

7aea6bc99be2fc654e21a15752c25adf.png

实验报告插入评语

首先网上搜索了下可以操作word的第三方库,python-docx,安装

pip install python-docx

引入模块Document,打开word

from docx import Document

因为是要根据成绩写评语,因此需要读取成绩。

964c37e987ba7cf176149d886389f960.png

成绩样式

def readScore(name): import csv vec = [] data = [] with open(name, 'rb') as f: reader = csv.reader(f) flag = 1 for row in reader: if flag: flag = 0 continue for i in row: vec.append(i.decode("utf8")) data.append(vec) vec = [] return data

然后就是读取学生的实验报告,实验报告的名称为他们的学号

d369f280ede4d0db020467a1cd570ab8.png

实验报告

def getFileName(folderName): for root, dirs, files in os.walk(folderName): files = files names = [] for file in files: if "docx" in file: names.append(folderName + '/' + file) print "读取文件名字成功" print names return names

然后就是根据分数设置评语,分成四个评语

def getComment(score): score = int(score) comment = ['功能实验完整,报告相对清晰。', '实现功能,报告略简洁。', '缺乏部分功能、不完全符合要求。', '实验不完整,报告敷衍。'] if score >= 85: index = 0 elif score >= 75: index = 1 elif score >= 65: index = 2 else: index = 3 strC = "成绩:" + str(score) + '' + "评语:" + comment[index] + "" + "评定人:代号22" + "时间:2019/12/9" return strC

最后就是把评语插入对应的实验报告啦

def setComment(score, filename): for name in filename: for i in range(len(score)): if score[i][0] in name: file = Document(name) str = getComment(score[i][2]).decode("utf8") file.paragraphs[0].insert_paragraph_before(str) file.save(name) break

感兴趣的同学可以去了解下python-docx,是个很好的处理word的工具。

欢迎留言交流。有啥好的体验,用代码解决了生活中的琐事。或者有想法解决不了的,都可以留言交流。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python实验报告实验总结_python还能干这事 的相关文章

随机推荐

  • STM32HAL 移植MultiButton小巧简单事件驱动型按键驱动框架(裸机版本)

    目录 概述 一 使用方法 特性 按键事件 Examples 二 STM32CubeMx配置 三 Examples 四 运行结果 五 总结 概述 本篇文章介绍如何使用STM32移植 MultiButton开源框架 引用官网简述如下 Multi
  • 日志审计-syslog日志外发

    一 Linux 主机日志 不同的 Linux 版本 syslog 服务名可能为 syslog 也可能为 rsyslog 以下以 syslog 为例说明 Linux 主机所有的日志文件一般都在 var log 下 默认只是不记录 FTP 的
  • antdpro5.2.0项目开卷

    一 下载antdpro antdpro官网 刚开始想的是去github上下载项目 发现下载出来的版本是6 0 0版本 安装完依赖启动项目 左侧的菜单不出来 用react developer tools工具看 是因为左侧的菜单没有渲染出来 身
  • R语言第十一讲 决策树与随机森林

    概念 决策树主要有树的回归和分类方法 这些方法主要根据分层和分割 的方式将预测变量空间划分为一系列简单区域 对某个给定待预测的观 测值 用它所属区域中训练集的平均值或众数对其进行预测 基于树的方法简便且易于解释 但预测准确性通常较低 如图所
  • Mybatis之choose (when, otherwise)标签

    choose when otherwise 标签 有时候我们并不想应用所有的条件 而只是想从多个选项中选择一个 而使用if标签时 只要test中的表达式为 true 就会执行 if 标签中的条件 MyBatis 提供了 choose 元素
  • idea 导出文件附带文件目录结构

    安装这个插件
  • Linux学习记录之命令

    1 显示 跳转行号的基本操作 vi 文件名 打开文件后 如果要显示所有行号 使用 set nu 如果要显示当前行号 使用 nu 如果要跳转到指定行 使用 行号 例如 跳转到第10行 使用 10
  • OpenPie上榜2022年源自中国值得关注的20家新锐全球化科技品牌

    2022年6月25日 EqualOcean盘点了2022年源自中国值得关注的20家新锐全球化科技品牌 拓数派 OpenPie 成为了数据计算领域领先全球的佼佼者 OpenPie是以 Data Computing for New Discov
  • 1.3 OC与OD门(硬件基础系列)

    针对设计过程的问题 欢迎各位留言评论或群内讨论 1 3 OC与OD门 1 3 1 简介 OC Open Collector 门又叫集电极开路门 主要针对的是BJT电路 图1 21 OC门 OD Open Drain 门又叫漏极开路门 主要针
  • express中简单的使用token

    首先安装需要的插件 创建一个js文件 导入express const exprss require express 创建web服务器 const app exprss 生成token const jwt require jsonwebtok
  • 35道SpringBoot面试题及答案

    Spring Boot 是微服务中最好的 Java 框架 我们建议你能够成为一名 Spring Boot 的专家 本文精选了三十五个常见的Spring Boot知识点 祝你一臂之力 问题一 Spring Boot Spring MVC 和
  • AODV按需路由协议

    一 详细解释 AODV Ad hoc On demand Distance Vector Routing 是一种按需路由协议 当一个节点需要给网络中的其他节点传送信息时 如果没有到达目标节点的路由 则必须先以多播的形式发出RREQ 路由请求
  • Windows Server 2008多路径 I/O 概述

    面向高可用性的多路径支持 Windows Server 2008 包括许多将运行 Windows 服务器级操作系统的计算机与存储区域网络 SAN 设备连接起来的增强功能 集成的多路径 I O MPIO 支持是为基于 Windows 的服务器
  • 升专家需要具备的6个能力!

    阅读本文大概需要2min 文 强哥 图 强哥 未经授权禁止转载 高级开发和初级开发的区别并不只有工作经验的差异 可以说如果只凭经验丰富 那还不够高级开发的标准 互联网企业一般对于技术岗都有清晰的晋升体系和对应的能力图谱 有些人可能因为某些原
  • struct结构体占内存字节数

    昨天写了一个结构体demo 心血来潮打印struct所占内存字节数 struct student char name 20 char sex int num float score 3 void print 你猜猜是多少个字节数呢 对于ch
  • PCL拼接点云数据

    1 将两个点云拼接成一个点云 1 1 输入和输出 输入 两个相同点格式的点云比如pcl PointCloud
  • JSP include能包含html页面吗?

    转自 JSP include能包含html页面吗 jsp简介 JSP全称是Java Server Pages 是一种动态网页技术 JSP其实就是在html中插入了java代码和JSP标签之后形成的文件 文件名以 jsp结尾 其实JSP就是一
  • 输入网址后,会经历哪几个步骤

    1 面试官问输入网址后 会经历哪几个步骤 DNS HTTPS TCP 就知道这两个 DNS解析 TCP连接 发送http请求 HTTP请求报文的方法是 get 如果浏览器存储了该域名下的 Cookies 那么会把 Cookies放入 HTT
  • 协议数据处理流程

    数据处理流程 总体流程 数据放入缓冲 PushToComFIFO RecBuffer BufLen 从数据缓冲中解包协议格式 读缓冲 GetDataFromComFIFO ComStr 从数据缓冲中解包协议格式 协议格式解析 Get XXX
  • python实验报告实验总结_python还能干这事

    上文提到python可以干很多事 很多时候生活中的很多问题都可以用代码解决 尤其是那些反复重复的事 今天就拿读研的时候的一个例子给大家说说 如何用代码解决生活中的问题 问题 导师带了3个班的图形学 100多号人 期末了 平时成绩已经出来了