#!/usr/bin/env python
# coding: utf-8
# 公司人事系统比较原始,无法让各部门自行查询年假使用情况。落后就要挨打,人事妹子只有花时间每个月从系统导出然后按部分区分,再发给部门经理和文员。虽然系统破旧,但这个按部门筛选和邮件发送还是可以让Python代劳,这样每个月要做的就是导出总表,然后运行一下Python程序,自动按部门生成新的子Excel表格,并自动发给相关部门。比起纯手工,还是省事不少啊。总表如下。
# ![](images\sum.png)
# In[1]:
import pandas as pd
df = pd.read_excel("年假情况.xlsx")
df.head()
# 首先导入`pandas`库。然后使用`pd.read_excel`读取Excel文件,可直接将Excel文件读取为一个数据框(DataFrame)。可以理解数据框就是一张Excel表,请看上图,是不是很像我们常用的Excel表格呢?我们用`df.head()`看一下它的前5行,以便观察是否有正确读取。
# 然后按不同的部门来将这些数据拆分成不同的表格并单独保存,以便通过邮件的方式发出。
# In[3]:
#拆分Excel表,并单独保存
depts = df["部门"].unique()
for dept in depts:
df[df["部门"]==dept].to_excel("年假_按部门\年假情况_{}.xlsx".format(dept),index=False)
# 因为在总表中,每个部门有很多员工,因此部门的名字是重复的,我们只需要获得所有部门的名称一次就够了,`unique()`就可以实现。`df["部门"].unique()`可以理解为,从工作表中选取列名为“部门”的列,然后每个部门只取一次,然后存入depts这个数组。
# In[4]:
depts
# 然后我们将部门的名称逐个传入数据表,并逐个保存成新的Excel文件。`df.to_excel()`可实现将数据框存储为Excel文件。括号内的参数为需要存入的路径和文件名,此处我们希望把部门的名字放在文件名里面以便区分,所以使用格式化字符串函数`.format`将部门的名称传入文件名。我们不想在Excel中显示数据框的索引,因此`index`设为`False`。分拆后的Excel表如下图所示,分拆成功。
# ![](images\result.png)
# 然后,就可以写一个自动发送邮件的程序,实现一键精准投递年假信息给各部门了。自动发送邮件,后续再来探讨把,敬请期待。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
自动办公-16 从Excel总表中分割10个部门的年假数据.zip (34个子文件)
自动办公-16 从Excel总表中分割10个部门的年假数据
images
1.PNG 6KB
result(1).PNG 22KB
1(1).PNG 6KB
sum.PNG 22KB
result.PNG 22KB
sum(1).PNG 22KB
face(1).PNG 500KB
face.PNG 500KB
16(1).ipynb 7KB
年假情况.xlsx 18KB
16(1).py 2KB
年假情况(1).xlsx 18KB
16.py 2KB
16.ipynb 7KB
年假_按部门
年假情况_物料部(1).xlsx 6KB
年假情况_采购部.xlsx 6KB
年假情况_总务部.xlsx 6KB
年假情况_人事部(1).xlsx 6KB
年假情况_关务部(1).xlsx 6KB
年假情况_品质部.xlsx 6KB
年假情况_品质部(1).xlsx 6KB
年假情况_工程部.xlsx 6KB
年假情况_采购部(1).xlsx 6KB
年假情况_生产部(1).xlsx 6KB
年假情况_物料部.xlsx 6KB
年假情况_研发部(1).xlsx 6KB
年假情况_关务部.xlsx 6KB
年假情况_工程部(1).xlsx 6KB
年假情况_总务部(1).xlsx 6KB
年假情况_船务部(1).xlsx 6KB
年假情况_人事部.xlsx 6KB
年假情况_生产部.xlsx 6KB
年假情况_研发部.xlsx 6KB
年假情况_船务部.xlsx 6KB
共 34 条
- 1
资源评论
小风飞子
- 粉丝: 329
- 资源: 1511
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功