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()
相关推荐
梦幻精灵_cq4 分钟前
Linux.date格式化标识“制作”极简台历 vs Python.datetime.strftime格式化“精美”日历牌(时间工具依情境选择也是一种“智慧)
linux·python
ASS-ASH17 分钟前
视觉语言大模型Qwen3-VL-8B-Instruct概述
人工智能·python·llm·多模态·qwen·视觉语言模型·vlm
再__努力1点26 分钟前
【77】积分图像:快速计算矩形区域和核心逻辑
开发语言·图像处理·人工智能·python·算法·计算机视觉
matlabgoodboy30 分钟前
程序代做python代编程matlab代码设计plc深度学习java编写C++代写
python·深度学习·matlab
Evand J34 分钟前
【2026课题推荐】基于小波/互相关/FFT的卡尔曼滤波的轨迹估计,及MATLAB例程的运行结果
开发语言·matlab·目标跟踪·轨迹跟踪
独自归家的兔40 分钟前
Java Robot 详解:系统级鼠标 / 键盘模拟的核心原理与实战
java·开发语言
小灰灰搞电子1 小时前
Qt 开发环境选择Qt Creator、Visual Studio还是 VS Code?
开发语言·qt·visual studio
何中应1 小时前
Bean的三种注入方式
开发语言·spring boot·后端·spring
席万里1 小时前
基于Flask框架实现的一个在线考试系统
后端·python·flask
wanghowie1 小时前
01.03 Java基础篇|面向对象核心与设计实践
java·开发语言