login
拖拽式排班计算器解决方案
2025/06/04·StepFun can make mistakes, check important info.
我希望的是我把原始排班表拖进我的程序后自动导出计算结果
Reason
思考过程

我们设计一个拖拽文件处理的程序,用户将原始排班表文件拖拽到程序图标上,程序自动处理并输出结果。
由于您之前已经有了计算逻辑,这里我们主要实现拖拽功能,并整合之前的计算流程。

步骤:

  1. 使用sys.argv获取拖拽到程序上的文件路径
  2. 检查文件是否为Excel文件(.xlsx或.xls)
  3. 自动清洗数据
  4. 加载配置文件(假设配置文件放在程序同一目录下的config文件夹)
  5. 计算指标
  6. 在原始文件所在目录生成结果文件(清洗后的文件和计算结果)

我们将修改主程序,使其支持拖拽操作。

注意:由于我们最终要打包成exe,所以路径处理要考虑到打包后的情况。

修改后的main.py(支持拖拽):

拖拽式排班计算器解决方案

我将为您设计一个完整的拖拽式排班计算器,只需将原始排班表拖到程序上,即可自动完成所有处理并导出计算结果。

实现方案

主程序代码 (main.py)

python

配置文件 (config/respiratory.yaml)

yaml

打包脚本 (build.bat)

bat

使用说明

准备工作

  1. 创建项目文件夹(如D:\护理排班计算器
  2. 创建config子文件夹,放入respiratory.yaml配置文件
  3. 将上述代码保存为main.pybuild.bat

打包程序

  1. 双击运行build.bat
  2. 等待打包完成,生成护理排班计算器.exe

使用方式

方法1:拖拽文件

  1. 将生成的护理排班计算器.exe发送到桌面快捷方式
  2. 将排班表Excel文件直接拖拽到程序图标上
  3. 程序自动处理并显示结果

方法2:文件选择

  1. 双击运行护理排班计算器.exe
  2. 程序会自动打开文件选择对话框
  3. 选择排班表Excel文件进行处理

输出结果

程序会在排班表文件同一目录下创建:

text
  • 包含每日的护理指标数据
  • 文件名包含处理时间戳,避免覆盖

功能特点

  1. 一键拖拽处理:只需将Excel文件拖到程序图标上
  2. 全自动化流程:自动清洗、计算、生成结果
  3. 智能错误处理:自动检测文件格式错误并提示
  4. 结果自动保存:在原始文件旁创建结果文件夹
  5. 时间戳命名:避免结果文件被覆盖
  6. 用户友好界面:成功/失败均有明确提示
  7. 便携式设计:所有依赖打包进单个exe文件
  8. 配置内置:配置文件随程序打包,无需额外管理

扩展建议

  1. 多科室支持:添加配置文件选择功能
  2. 模板下载:提供标准排班表模板下载
  3. 历史记录:记录最近处理的文件
  4. 邮件发送:自动将结果发送到指定邮箱
  5. 图表生成:在结果文件中添加可视化图表
  6. 数据校验:添加排班表格式检查功能

此解决方案完全满足您的需求,只需将排班表拖到程序上,即可自动完成所有处理并导出计算结果,无需任何额外操作。