python代码示例(读取excel文件,自动播放音频)

目录

python

操作excel

表结构

安装第三方库

代码 

自动播放音频

介绍

安装第三方库

代码


python

操作excel

表结构

求出100班同学的平均分

安装第三方库

因为这里的表结构是.xlsx文件,需要使用openpyxl库

  • 如果是.xls格式文件,需要使用xlrd库

pip install openpyxl / xlrd

代码 

import openpyxl# 1. 打开 xlsx 文件
workbook = openpyxl.load_workbook(r'D:\CloudMusic\gread.xlsx')# 2. 获取 0 号标签页(可以通过 sheet 名字或者索引获取)
sheet = workbook.active  # 获取活动工作表,或者使用 workbook[sheet_name] 获取指定的 sheet# 3. 获取总行数
nrows = sheet.max_row  # max_row 返回总行数# 4. 遍历数据
count = 0
total = 0
for i in range(2, nrows + 1):  # 从第 2 行开始(索引从 1 开始,第 1 行是表头)classId = sheet.cell(row=i, column=2).value  # 获取第 i 行,第 2 列的 classIdif classId == 100:  # 如果 classId 为 100total += sheet.cell(row=i, column=3).value  # 累加第 3 列的分数count += 1  # 计数# 计算平均分
if count > 0:  # 防止除零错误print(f'平均分: {total / count}')
else:print("没有找到 classId 为 100 的数据")

自动播放音频

介绍

每按下 10 次按键,自动播放一个音频文件

  • 通过pynput库监听键盘按键
  • pygame库播放音频文件
安装第三方库
  • pip install pynput==1.6.8
  • pip install pygame
  • (本来是准备使用playsound库,但好像有编码问题,不懂,换成pygame库后就可以了)

代码

import pygame
from pynput import keyboard# 初始化 pygame 音频系统
pygame.mixer.init()count = 0  # 用于记录按键次数# 键盘释放时的回调函数
def on_release(key):global countcount += 1  # 每次按键释放后计数加 1# 每按 10 次键,就播放一次音频if count % 10 == 0:print(f"按了 {count} 次,播放音频!")  # 打印按键计数pygame.mixer.music.load(r'D:\CloudMusic\Wake_up_my_music.mp3')  # 加载音频文件pygame.mixer.music.play()  # 播放音频# 设置退出条件,例如按 Esc 键退出if key == keyboard.Key.esc:print("退出监听器...")return False  # 返回 False 以停止监听# 设置监听器
listener = keyboard.Listener(on_release=on_release  # 设置当按键释放时调用的回调函数
)# 启动监听器
listener.start()# 阻塞主线程,等待键盘事件
listener.join()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/887778.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

百度智能云发布首个空间智能解决方案,百度AI优势如何分析?

首先,百度智能云此次推出的空间智能解决方案,在技术底座上展现了其强大的AI异构计算能力。百度百舸AI异构计算平台作为该方案的底层支撑,为2D和3D应用中的人物、物件及场景生成提供了强大的算力支持。这一平台的推出,不仅提升了空…

深度学习-49-AI应用实战之基于HyperLPR的车牌识别

文章目录 1 车牌识别系统1.1 识别原理1.1.1 车牌定位1.1.2 字符识别2 实例应用2.1 安装hyperlpr32.2 识别结果2.3 可视化显示2.4 结合streamlit3 附录3.1 PIL.Image转换成OpenCV格式3.2 OpenCV转换成PIL.Image格式3.3 st.image嵌入图像内容3.4 参考附录1 车牌识别系统 车牌识别…

非递归遍历二叉树(数据结构)

我的博客主页 非递归遍历二叉树 前序遍历(迭代)中序遍历(迭代)后续遍历(迭代) 二叉树的遍历方式有:前序遍历、中序遍历、后续遍历,层序遍历,而树的大部分情况下都是通过递…

丹摩征文活动|实现Llama3.1大模型的本地部署

文章目录 1.前言2.丹摩的配置3.Llama3.1的本地配置4. 最终界面 丹摩 1.前言 Llama3.1是Meta 公司发布的最新开源大型语言模型,相较于之前的版本,它在规模和功能上实现了显著提升,尤其是最大的 4050亿参数版本,成为开源社区中非常…

registry 删除私有仓库镜像

原文链接:https://blog.csdn.net/yogima/article/details/122172744 docker之register搭建私有镜像仓库以及删除docker历史的临时镜像(虚悬镜像) - nick_xm - 博客园 如果需要彻底删除,只需进行register 磁盘删除镜像 彻底删除了&…

基于stm32单片机的教室节能系统设计

功能描述 0. STM32F103C8T6单片机为控制核心 1. OLED液晶显示当前年 月 日 时 分 秒 星期 2. 按键可以设置定时时间 3. 按键可以设置用电开关的开启和关闭时间,实现设备的节能 4. 通过红外遥控可以打开关闭空调设备(通过继电器开关闭合模拟&#x…

防止按钮被频繁点击

在做开发的时候,不希望按钮被用户频繁点击,给后端服务器增加负担,这个时候,可以在按钮的触发函数加上如下代码: // 禁用按钮 const fetchButton document.querySelector(.btn-fetch); fetchButton.disabled true; // 延时61秒后重新启用按钮 setTimeout(() > { fetchBut…

Spring Boot【三】

自动注入 xml中可以在bean元素中通过autowire属性来设置自动注入的方式&#xff1a; <bean id"" class"" autowire"byType|byName|constructor|default" /> byName&#xff1a;按照名称进行注入 byType&#xff1a;按类型进行注入 constr…

构建 LLM (大型语言模型)应用程序——从入门到精通(第七部分:开源 RAG)

通过检索增强生成 (RAG) 应用程序的视角学习大型语言模型 (LLM)。 本系列博文 简介数据准备句子转换器矢量数据库搜索与检索大语言模型开源 RAG&#xff08;本帖&#xff09;评估服务LLM高级 RAG 1. 简介 我们之前的博客文章广泛探讨了大型语言模型 (LLM)&#xff0c;涵盖了其…

【Python入门】Python数据类型

文章一览 前言一、变量1.1.如何使用变量1.2.如何定义变量的名字&#xff08;标识符&#xff09; 二、数据类型2.1 整型数据2.2 浮点型数据2.3 布尔型&#xff08;bool&#xff09;数据2.4 复数型数据2.5 字符串类型1 > 字符串相加&#xff08;合并&#xff09;&#xff08;&…

第1章-JVM和Java体系架构

虚拟机 虚拟机概念 所谓虚拟机&#xff08;Virtual Machine&#xff09;&#xff0c;就是一台虚拟的计算机。它是一款软件&#xff0c;用来执行一系列虚拟计算机指令。大体上&#xff0c;虚拟机可以分为系统虚拟机和程序虚拟机。 大名鼎鼎的Virtual Box&#xff0c;VMware就属…

flink学习(5)——预定义source

Collection [测试]--本地集合Source fromElements // env.fromElements// 使用这种方式的时候 后面的数据类型需要一致 // 1、 /* * 1、String 可以 2、Object 不行&#xff08;String&#xff0c;Float&#xff0c;Long不能同时传入&#xff09; * 3、数组可以 4、集合可…

【H2O2|全栈】Node.js(2)

目录 前言 开篇语 准备工作 npm 概念 常见指令 项目中的包 创建项目 启动项目 服务器搭建 express 基本步骤 搭建应用 创建路由 监听端口 启动服务器 面试相关 结束语 前言 开篇语 本系列博客分享Node.js的相关知识点&#xff0c;本章讲解npm与服务器的简单…

基于 Nginx Ingress Controller 的四层(TCP)转发配置

基于 Nginx Ingress Controller 的四层&#xff08;TCP&#xff09;转发配置 1. 简介 本指南将展示如何通过配置 ConfigMap 来实现 Nginx Ingress Controller 的四层转发&#xff08;TCP&#xff09;&#xff0c;并通过配置测试应用程序验证配置的有效性。本文中使用的 Kuber…

生产Redis批量删除数据

生产Redis不能直接删除大量的Key&#xff0c;避免占用主线程阻塞正常业务&#xff0c;因此需要批量多次删除。一下代码经过生成磨炼&#xff0c;可以直接测试使用。 #!/bin/bash# Redis服务器地址 REDIS_HOST"127.0.0.1" # Redis端口 REDIS_PORT6379 # 匹配的键模式…

JDK的版本演化,JDK要收费吗?

Java版本演化历史 Java的版本历史可以追溯到1995年&#xff0c;以下是Java语言自诞生以来的主要版本及其关键特性&#xff1a; 一、早期版本 Java 1.0&#xff08;1996年1月发布&#xff09; 引入了Java虚拟机&#xff08;JVM&#xff09;和Java应用编程接口&#xff08;API&…

kafka+zookeeper集群搭建

kafkazookeeper集群搭建 规划 服务ip端口配置kafkazookeeper192.168.138.1512181/9092/2888/38882CPU、2G内存kafkazookeeper192.168.138.1522181/9092/2888/38882CPU、2G内存kafkazookeeper192.168.138.1532181/9092/2888/38882CPU、2G内存 开启端口,关闭selinux firewall…

书生大模型实训营第4期进阶岛第三关:LMDeploy 量化部署进阶实践

书生大模型实训营第4期进阶岛第三关&#xff1a;LMDeploy 量化部署进阶实践 1. 配置 LMDeploy 环境1.1 开发机的创建与环境搭建1.2 模型获取1.3 模型测试 2. InternLM2.5 的部署与量化2.1 LMDeploy API 部署 InternLM2.52.1.1 启动API服务器2.1.2 以命令行形式连接 API 服务器2…

visionpro官方示例分析(一) 模板匹配工具 缺陷检测工具

1.需求&#xff1a;找出图像中的这个图形。 2.步骤 使用CogPMAlignTool工具&#xff0c;该工具是模板匹配工具&#xff0c;见名知意&#xff0c;所谓模板匹配工具就是说先使用该工具对一张图像建立模板&#xff0c;然后用这个模板在其他图像上进行匹配&#xff0c;匹配上了就说…

Z2400027基于Java+SpringBoot+Mysql+thymeleaf引擎的图书馆管理系统的设计与实现 代码 论文

图书馆管理系统的设计与实现 一、项目背景与简介二、系统总体功能三、运行环境与技术选型四、系统架构与模块划分五、系统界面截图六、源码获取 一、项目背景与简介 项目背景&#xff1a; 随着信息技术的不断发展和图书资源的日益丰富&#xff0c;图书馆作为知识传播和学习的重…