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

目录

python

操作excel

表结构

安装第三方库

代码

自动播放音频

介绍

安装第三方库

代码


python

操作excel

表结构

求出100班同学的平均分

安装第三方库

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

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

pip install openpyxl / xlrd

代码

python 复制代码
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 列的 classId
    if classId == 100:  # 如果 classId 为 100
        total += 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库后就可以了)

代码

python 复制代码
import pygame
from pynput import keyboard

# 初始化 pygame 音频系统
pygame.mixer.init()

count = 0  # 用于记录按键次数

# 键盘释放时的回调函数
def on_release(key):
    global count
    count += 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()
相关推荐
重生之绝世牛码1 分钟前
Java设计模式 —— 【创建型模式】工厂模式(简单工厂、工厂方法模式、抽象工厂)详解
java·大数据·开发语言·设计模式·工厂方法模式·设计原则·工厂模式
DKPT2 分钟前
数据结构逻辑结构有哪些
开发语言·数据结构·笔记·学习·算法
测试盐23 分钟前
linux系统中常用文件&日常使用命令记录
linux·python
five小点心39 分钟前
尚硅谷学习笔记——Java设计模式(一)设计模式七大原则
java·开发语言·设计模式
潜洋1 小时前
Spring Boot教程之十一:获取Request 请求 和 Put请求
java·开发语言·python
vvvae12341 小时前
JavaScript 前端开发操作指南
开发语言·javascript·ecmascript
AskHarries1 小时前
一个高效的Java对象映射库Orika
java·开发语言·python
LongQ30ZZ1 小时前
【C++】vector的用法,一些接口的模拟实现
开发语言·c++
sukalot1 小时前
windows C#-定义和读取自定义特性
开发语言·c#