拖拽式排班计算器解决方案
2025/06/04·StepFun can make mistakes, check important info.
我希望的是我把原始排班表拖进我的程序后自动导出计算结果
思考过程
我们设计一个拖拽文件处理的程序,用户将原始排班表文件拖拽到程序图标上,程序自动处理并输出结果。
由于您之前已经有了计算逻辑,这里我们主要实现拖拽功能,并整合之前的计算流程。
步骤:
- 使用sys.argv获取拖拽到程序上的文件路径
- 检查文件是否为Excel文件(.xlsx或.xls)
- 自动清洗数据
- 加载配置文件(假设配置文件放在程序同一目录下的config文件夹)
- 计算指标
- 在原始文件所在目录生成结果文件(清洗后的文件和计算结果)
我们将修改主程序,使其支持拖拽操作。
注意:由于我们最终要打包成exe,所以路径处理要考虑到打包后的情况。
修改后的main.py(支持拖拽):
拖拽式排班计算器解决方案
我将为您设计一个完整的拖拽式排班计算器,只需将原始排班表拖到程序上,即可自动完成所有处理并导出计算结果。
实现方案
主程序代码 (main.py
)
配置文件 (config/respiratory.yaml
)
打包脚本 (build.bat
)
使用说明
准备工作
- 创建项目文件夹(如
D:\护理排班计算器
)
- 创建
config
子文件夹,放入respiratory.yaml
配置文件
- 将上述代码保存为
main.py
和build.bat
打包程序
- 双击运行
build.bat
- 等待打包完成,生成
护理排班计算器.exe
使用方式
方法1:拖拽文件
- 将生成的
护理排班计算器.exe
发送到桌面快捷方式
- 将排班表Excel文件直接拖拽到程序图标上
- 程序自动处理并显示结果
方法2:文件选择
- 双击运行
护理排班计算器.exe
- 程序会自动打开文件选择对话框
- 选择排班表Excel文件进行处理
输出结果
程序会在排班表文件同一目录下创建:
- 包含每日的护理指标数据
- 文件名包含处理时间戳,避免覆盖
功能特点
- 一键拖拽处理:只需将Excel文件拖到程序图标上
- 全自动化流程:自动清洗、计算、生成结果
- 智能错误处理:自动检测文件格式错误并提示
- 结果自动保存:在原始文件旁创建结果文件夹
- 时间戳命名:避免结果文件被覆盖
- 用户友好界面:成功/失败均有明确提示
- 便携式设计:所有依赖打包进单个exe文件
- 配置内置:配置文件随程序打包,无需额外管理
扩展建议
- 多科室支持:添加配置文件选择功能
- 模板下载:提供标准排班表模板下载
- 历史记录:记录最近处理的文件
- 邮件发送:自动将结果发送到指定邮箱
- 图表生成:在结果文件中添加可视化图表
- 数据校验:添加排班表格式检查功能
此解决方案完全满足您的需求,只需将排班表拖到程序上,即可自动完成所有处理并导出计算结果,无需任何额外操作。