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()
相关推荐
kruptos1 小时前
分布式系统怎么“选主“?Raft 共识一次讲清
开发语言·分布式·php·共识算法
吴声子夜歌1 小时前
ApacheCommons——commons-cli(命令行参数解析)
java·开发语言·apache
benchmark_cc2 小时前
REST API 和 Python SDK 应该怎么选?量化交易数据接口选型实战
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
王的宝库2 小时前
Go 项目结构:从单文件到标准工程布局
开发语言·后端·golang
Tairitsu_H3 小时前
[C++] 深入理解红黑树:封装set与map
开发语言·c++·set·map·红黑树·模拟实现
泡海椒3 小时前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp
小智老师PMP3 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
2601_962382434 小时前
python快乐编程网络爬虫课后答案
python·网络爬虫·学习工具·课后答案·刷题app
鹏哥带你干乡墅4 小时前
优选乡墅赋能培训平台如何帮助提升乡村建设?
大数据·人工智能·python
江畔柳前堤4 小时前
前台·中台·后台:2026年AI原生时代的架构全景图
开发语言·人工智能·算法·机器学习·架构·scala·ai-native