python| 关于excel的文件处理

创建一个成绩单文件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如何把不同类型数据的json序列化

    当我们使用Python提供的json模块进行JSON序列化时,我们会发现对于每个数据类型,都会有不同的方法来进行序列化。 以下是一些常见的Python数据类型,及其对应的JSON序列化方法。 字符串(String)序列化 字符串序列化是非常简单的,它只需要将字符串用双引号包裹起来即可。例如: import json data = { "name&q…

    python 2023年5月14日
    00
  • python由已知数组快速生成新数组的方法

    当需要从已知数组快速生成新数组时,Python提供了多种方便的方法。以下是其中的几种方法: 1. 使用列表推导式 列表推导式是Python中一种非常高效的方法,用于从现有的列表、字符串或任何可迭代对象中快速创建新的列表。它的语法形式为:[expression for var in iterable]. 以下是一个示例,我们从一个现有的列表a中快速生成一个新的…

    python 2023年6月5日
    00
  • Postman安装与使用详细教程 附postman离线安装包

    Postman 安装与使用详细教程 Postman 是一款流行的 API 开发工具,可以帮助开发者快速测试和调试 API 接口。以下是 Postman 的安装与使用详细教程。 1. 下载 Postman 首先,我们需要从 Postman 官网下载适合自己操作系统的安装包。可以访问 https://www.postman.com/downloads/ 下载最新…

    python 2023年5月15日
    00
  • Python获取网页上图片下载地址的方法

    下面是Python获取网页上图片下载地址的方法攻略,分为以下几个步骤: 步骤一:发送网络请求并获取HTML源代码 import requests url = ‘https://www.example.com’ r = requests.get(url) # 发送网络请求 html = r.text # 获取网页HTML源代码 以上代码中,我们使用Python…

    python 2023年6月3日
    00
  • python+pyqt5实现24点小游戏

    一、介绍 24点小游戏是一种常见的数学游戏,要求玩家在给定的4个数字中选出任意3个数字,通过加减乘除的运算使得运算结果等于24。本文介绍如何使用Python和PyQt5框架实现24点小游戏。 二、实现步骤 安装PyQt5 在开始编写代码之前,需要安装PyQt5框架以便使用Qt Designer设计PyQt5窗口。安装方法: pip install PyQt5…

    python 2023年6月3日
    00
  • Python 元组(Tuple)操作详解

    Python元组(Tuple)操作详解 元组(Tuple)是Python中的一种不可变序列,它与列表(List)类似,但是元组中的元素不能被修改。本攻略将介绍如何创建元组、访问元组中的元素、切片元组、连接元组、删除元组、计算元组中元素的个数、查找元素在元组中的位置等操作。 创建元组 我们可以使用圆括号()或tuple()函数来创建元组。以下是示例代码,演示如…

    python 2023年5月13日
    00
  • 用python实现超强的加密软件

    用Python实现超强的加密软件 介绍 在本文中,我们将讨论如何用Python编写一个极其强大的加密软件。本软件将使用常用的加密方法,如AES、RSA和SHA256等。使用该软件可以加密文件和文本数据,并保护其机密性和完整性。 加密方法 以下是我们在编写软件时要使用的加密方法。 AES AES(高级加密标准)是一种对称加密算法,它使用相同的密钥来加密和解密数…

    python 2023年5月31日
    00
  • Python中使用多进程来实现并行处理的方法小结

    下面是Python中使用多进程来实现并行处理的方法小结的详细攻略。 什么是多进程并行处理? 多进程并行处理是指同时启动多个进程执行任务,从而加快处理速度。在Python中,使用multiprocessing模块来实现多进程并行处理。 如何使用Python多进程并行处理? 1.创建进程 在Python中创建进程有两种方式:使用Process类和使用Pool类。…

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