python| 关于excel的文件处理

yizhihongxing
创建一个成绩单文件score.xlsx,将平时成绩单.xlsx文件中对应班级工作表中学号和姓名列的内容写入到score.xlsx中,
并添加成绩列,每个学生的成绩采用随机生成的一个分数填写进去,
最后统计所有学生的平均成绩计算出来后,
写入到score.xlsx的最后一行最后一列之后的单元格中去。

预想的步骤:
1.打开原始文件以及打开目标文件
2.读取原始文件中每个工作表的学号和姓名
3.在目标文件中创建工作表并写入学号,姓名和随机生成的成绩
4.统计所有学生的平均成绩
5.讲平均成绩写入到目标文件的最后一行最后一列之后的单元格中

以下是解决方法

import openpyxlimport random

# 打开原始文件和目标文件

source_file = openpyxl.load_workbook('平时成绩单.xlsx')target_file = openpyxl.Workbook()

# 获取源文件中所有的工作表
worksheets = source_file.sheetnames

for worksheet_name in worksheets:
# 读取原始文件中每个工作表的学号和姓名列的内容
source_worksheet = source_file[worksheet_name]
student_data = []
for row in source_worksheet.iter_rows(min_row=2, min_col=1, max_col=2, values_only=True):
student_data.append(row)

# 在目标文件中创建工作表并写入学号、姓名和随机生成的成绩
target_worksheet = target_file.create_sheet(title=worksheet_name)
target_worksheet.append(['学号', '姓名', '成绩'])
for student in student_data:
score = random.randint(60, 100)
target_worksheet.append([student[0], student[1], score])

# 统计所有学生的平均成绩
scores = [score for _, _, score in target_worksheet.iter_rows(min_row=2, max_col=3, values_only=True)]
average_score = sum(scores) / len(scores)

# 将平均成绩写入到目标文件的最后一行最后一列之后的单元格中
target_worksheet.cell(row=target_worksheet.max_row+1, column=target_worksheet.max_column+1, value=average_score)

# 保存目标文件
target_file.save('score.xlsx')

原文链接:https://www.cnblogs.com/peng7668038/p/17343747.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python| 关于excel的文件处理 - Python技术站

(0)
上一篇 2023年4月22日
下一篇 2023年4月24日

相关文章

  • Python OpenCV超详细讲解透视变换的实现

    Python OpenCV超详细讲解透视变换的实现 简介 透视变换是计算机视觉中一种重要的图像处理技术,通过透视变换可以对图像进行几何变换从而得到需要的图像形式。OpenCV的图片处理库中提供了cv2.warpPerspective函数来完成透视变换的处理,本文将详细讲解透视变换的具体实现过程。 实现透视变换的具体步骤 读取需要进行透视变换的原始图像,可以使…

    python 2023年5月18日
    00
  • django中使用POST方法获取POST数据

    获取POST数据在Django中是非常常见的操作,本文将详细介绍如何在Django中使用POST方法获取POST数据。 1. 准备工作 在使用POST方法获取POST数据前,需要在HTML表单中设置method属性为POST,例如: <form method="POST"> <!– HTML表单中的控件 –> …

    python 2023年6月3日
    00
  • python画柱状图–不同颜色并显示数值的方法

    下面将详细介绍如何使用Python绘制柱状图,并实现不同颜色和显示数值的效果。 概述 Python是一种开源编程语言,拥有非常丰富的数据可视化库。Matplotlib是其中一款绘图库,可以从多个角度展示数据,包括柱状图、饼图、折线图,等等。柱状图是一种复合图表,适合用于展示比较类别之间的数量。 实现步骤 下面将介绍如何使用Python绘制柱状图并添加不同颜色…

    python 2023年5月18日
    00
  • PyQt5每天必学之关闭窗口

    关闭窗口是PyQt5中非常基础、必学的操作之一。下面是PyQt5每天必学之关闭窗口的完整攻略: 1. 关闭窗口 在PyQt5中,关闭窗口的最常见方法是使用 close() 方法来实现。在实际应用中,可以在窗口上添加关闭按钮,当用户点击关闭按钮时,调用 close() 方法来关闭窗口。 以下是一个简单的代码示例: import sys from PyQt5.Q…

    python 2023年6月13日
    00
  • python基础教程之csv格式文件的写入与读取

    Python基础教程之CSV格式文件的写入与读取 在Python中,CSV格式文件是一种常见的文件格式,它有多行文本数据组成,每行数据由多个字段组成,各字段之间用逗号分隔,最后一行无需换行符,特别适合存储表格化的数据,如日程计划、费用清单等等。 本篇攻略将详细介绍如何使用Python对CSV格式文件进行读写操作。 CSV文件的读取 在Python中,我们可以…

    python 2023年6月3日
    00
  • 使用C++扩展Python的功能详解

    使用C++扩展Python的功能,通常使用C++编写Python扩展模块,以便利用C++的高效性能、高速度和强大功能,提升Python的执行效率和扩展性。下面是使用C++扩展Python功能的完整攻略。 1. 安装相关工具和库 使用C++扩展Python,需要安装相关的工具和库。 首先,需要安装Python的开发环境,可以在官网下载对应系统的Python安装…

    python 2023年5月14日
    00
  • Python中断言Assertion的一些改进方案

    Python中断言Assertion的一些改进方案 什么是断言? 在Python中,断言(Assertion)是一种用于测试代码逻辑的工具。当程序运行到断言语句时,如果断言语句的结果为False,则程序会抛出AssertionError异常,如果结果为True,则顺利执行。 Python中断言的问题 然而,Python中断言也存在一些问题: 难以调试:当代码…

    python 2023年5月13日
    00
  • python线程池的四种好处总结

    Python线程池的四种好处总结 在本攻略中,我们将介绍Python线程池的四种好处,并提供一些示例。 好处1:提高程序性能 使用线程池可以提高程序性能。线程池可以重复利用线程,避免了线程的创建和销毁,从而减少了系统开销。同时,线程池可以控制线程的数量,避免了线程数量过多导致的系统资源浪费和性能下降。 以下是一个示例,用于演示线程池提高程序性能: impor…

    python 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部