如何将基于pandas的Python会议自动启动程序替换为使用csv模块实现?
用csv模块替代pandas实现会议自动启动
没问题!既然没法安装使用pandas,咱们用Python标准库自带的csv模块完全能实现同样的功能,不需要额外依赖。下面是修改后的完整代码,我还会标注关键改动点:
import time import csv from datetime import datetime import webbrowser def sign_in(meetinglink): webbrowser.open(meetinglink) # 用csv模块读取文件,替换pandas的read_csv timing_links = {} with open('/Users/3021118/Applications/Meeting-Launcher/timings.csv', 'r') as file: # DictReader会将每一行转为字典,键就是CSV的表头字段 reader = csv.DictReader(file) # 把时间和对应的会议链接存入字典,方便快速查找 for row in reader: timing_links[row['timings']] = row['meetinglink'] # 这里的'meetinglink'要和你CSV的第二列表头一致 while True: now = datetime.now().strftime("%H:%M") # 直接检查当前时间是否在我们的时间字典里 if now in timing_links: m_link = timing_links[now] sign_in(m_link) time.sleep(10) print('MEETING JOINED!')
关键改动说明:
- 移除了
pandas的导入,换成标准库的csv模块,无需额外安装 - 用
csv.DictReader读取CSV文件,它会自动识别表头,让我们可以通过列名(比如row['timings'])访问对应的值,逻辑更直观 - 提前把所有时间-链接对存入字典
timing_links,这样每次循环查找的效率更高,也避免了重复读取文件 - 循环里直接通过字典键查找当前时间对应的链接,逻辑和原代码一致,但更简洁
注意:如果你的CSV第二列表头不是meetinglink,记得把代码里的row['meetinglink']改成你实际的表头名称哦!
内容的提问来源于stack exchange,提问作者Farhan Mir
相关产品推荐
相关产品推荐

