匹配数据库,审核信息

审核表格

1、导入库及定义路径

import os 
import pandas as pd
import numpy as np
path=os.chdir('D:\\重要材料-离职')
os.getcwd()

2、打开信息简表,该表格的信息是准确的,提取需要的字段保存为df_1

df=pd.read_excel('20201117在岗人员基本信息.xlsx',encoding='gbk')
df_1=df.loc[:,['员工编码','姓名','部门室','职位细分名称']]

3、定义路径到需要审核的表格(该表格的信息可能不准确)并进行两表合并

path=os.chdir('E:\\需要处理的表格')
os.getcwd()
df_2=pd.read_excel('附件2:人员职位调整表(2020年模板)-深汕合作区分公司.xlsx',encoding='gbk')
df_3=pd.merge(df_2,df_1,how='inner',left_on='员工编号',right_on='员工编码')
df_3.head(1)

4、对匹配的结果相应的字段进行审核,并且将布尔值变成字符型保存

df_3['核对_员工编号']=(df_3['员工编号']==df_3['员工编码'])
df_3['核对_姓名_x']=(df_3['姓名_x']==df_3['姓名_y'])
df_3['核对_所在部门、室/模块']=(df_3['所在部门、室/模块']==df_3['部门室'])
df_3.head(1)

for i in range(len(df_3['序号'])):
    df_3.loc[i,'核对_员工编号']=str(df_3.loc[i,'核对_员工编号'])
    df_3.loc[i,'核对_姓名_x']=str(df_3.loc[i,'核对_姓名_x'])
    df_3.loc[i,'核对_所在部门、室/模块']=str(df_3.loc[i,'核对_所在部门、室/模块'])

5、将匹配后简表的数据替换到被审核的数据处,并进行重新命名以及重新排序

df_3.drop('姓名_x',axis=1,inplace=True)
df_3.drop('现任职名称',axis=1,inplace=True)
df_3.drop('所在部门、室/模块',axis=1,inplace=True)
df_3.drop('员工编码',axis=1,inplace=True)
df_3.head(5)

df_3.rename(columns={'姓名_y':'姓名','部门室':'所在部门、室/模块','职位细分名称':'现任职名称'},inplace=True)
df_3=df_3.reindex(columns=['序号','员工编号','姓名','所在部门、室/模块','现任职名称','调往部门','调往室/模块','调往职位类型','负责典型职责','任职名称','职级变化情况','职位序列变化情况','担任基层职务变化情况','担任专家人才变化情况','调动原因','调动类型','OA操作类型','OA开通权限','备注','核对_员工编号','核对_姓名_x','核对_所在部门、室/模块'])
df_3.head(2)

6、进行账号的匹配,原理同上

df_4=pd.read_excel('1123所有portal账号的员工.xlsx',encoding='gbk')
df_4=df_4.loc[:,['员工编码','账号']]
df_5=pd.merge(df_3,df_4,how='inner',left_on='员工编号',right_on='员工编码')
df_5.head(1)

df_5.drop(columns='员工编码',inplace=True)
df_5=df_5.reindex(columns=['序号','员工编号','账号','姓名','所在部门、室/模块','现任职名称','调往部门','调往室/模块','调往职位类型','负责典型职责','任职名称','职级变化情况','职位序列变化情况','担任基层职务变化情况','担任专家人才变化情况','调动原因','调动类型','OA操作类型','OA开通权限','备注','核对_员工编号','核对_姓名_x','核对_所在部门、室/模块'])

7、将处理后的文件统一放到E:\处理后的表格,并且冻结首行

import openpyxl
path=os.chdir('E:\\处理后的表格')
df_5.to_excel('审核过-附件2:人员职位调整表(2020年模板)-深汕合作区分公司.xlsx',encoding='gbk')
df_6=openpyxl.load_workbook('审核过-附件2:人员职位调整表(2020年模板)-深汕合作区分公司.xlsx')
sheet=df_6.active
sheet.freeze_panes='A2'
df_6.save('审核过-附件2:人员职位调整表(2020年模板)-深汕合作区分公司.xlsx')

你可能感兴趣的:(python)