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中threading模块的几个常用方法

    下面是详细讲解Python中threading模块的几个常用方法的攻略。 一、什么是Python threading模块 Python中的线程模块是Python中实现线程的标准模块之一,它可以用来创建、管理线程以及线程的同步操作。它提供了 Thread、Lock、Event、Condition、Semaphore 和 Timer 等基本组件。 在Python…

    python 2023年5月19日
    00
  • python如何安装下载后的模块

    当我们在使用Python编写程序时,通常需要使用一些第三方模块来辅助我们完成工作,这就要求我们在本地机器上安装这些模块。接下来,我将为您介绍如何使用pip来安装下载后的Python模块。 确认Python环境以及pip的正确安装 在开始之前,请首先确保您已经正确地安装了Python环境,在命令行中输入以下两条命令以检查: python –version p…

    python 2023年6月3日
    00
  • 基于python实现文件加密功能

    下面我将详细讲解“基于python实现文件加密功能”的完整攻略。 前提条件 在实现文件加密功能前,需要提前了解以下知识点: Python基础知识 文件的读写操作 密码学相关知识 实现过程 1. 生成密钥 要实现文件加密的功能,首先需要生成密钥。在这里,我们采用AES对称加密算法,并使用pycryptodome库来实现。 from Crypto.Cipher …

    python 2023年5月20日
    00
  • Python中%r和%s的详解及区别

    Python中 %r 和 %s 的详解及区别 在 Python 中,可以使用 % 操作符来格式化字符串。其中 %s 和 %r 打印出来的字符串基本相同,但有时候它们输出的内容可能会有不同。本文将详细讲解 %s 和 %r 在 Python 中的使用。 什么是字符串格式化? 字符串格式化是指将一个字符串模板中的占位符替换为真正的数据。在 Python 中,以下方…

    python 2023年6月3日
    00
  • python hash每次调用结果不同的原因

    Python中的hash函数是一种用来生成数据摘要的技术。它将不同的输入数据映射成固定长度的输出消息,被用来验证数据的完整性和比较大量的数据。但是,有些情况下我们可能会发现同样的输入,调用hash函数的结果不同,这是因为hash结果的计算过程中受到多种因素的影响,本文将深入探究一下这些因素。 哈希碰撞 首先,我们需要知道哈希碰撞这个概念。哈希碰撞指的是不同的…

    python 2023年6月2日
    00
  • Django DRF APIView源码运行流程详解

    Django DRF APIView源码运行流程详解 Django DRF(Django Rest Framework)是一个用于构建RESTful API的框架,提供了一系列的视图类、序列化器、认证、权限等功能。其中,APIView是DRF中最基本的视图类之一,本文将详细讲解APIView的源码运行流程,包括请求处理、认证、权限、序列化等内容,并提供两个示…

    python 2023年5月15日
    00
  • 用Python自动发邮件提醒你周末吃啥

    用Python自动发邮件提醒你周末吃啥 在本攻略中,我们将介绍如何使用Python自动发邮件提醒你周末吃啥,并提供一些示例。 步骤1:设置邮箱 在使用Python自动发邮件之前,我们需要先设置邮箱。我们可以使用Python的smtplib库设置邮箱。 以下是一个示例,用于设置邮箱: import smtplib # 设置邮箱 smtp_server = ‘s…

    python 2023年5月15日
    00
  • win10系统下python3安装及pip换源和使用教程

    Win10系统下Python3安装及pip换源和使用教程 安装Python3 访问Python官网:https://www.python.org/downloads/windows/ 下载Python3的安装程序,并按照提示一步步安装。 配置环境变量: 在计算机属性中选择高级系统设置-环境变量。 在用户变量或系统变量中找到Path,点击编辑。 在编辑环境变量…

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