Files
jupyter/体测单位/北京农行.ipynb
T
2023-09-22 23:10:38 +08:00

56 KiB

第一次体测

人员信息导入

In [ ]:
import openpyxl
import json


wb = openpyxl.load_workbook('data/农业银行测试名单.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
person = {}

for n in range(2, sheet.max_row+1):
    if sheet.cell(n,1).value is not None:
        code = int(sheet.cell(n, 2).value)
        person.setdefault(code, {})
        dict1 = {}
        dict1['name'] = sheet.cell(n, 3).value
        if sheet.cell(n, 4).value ==1:
            sex = '男'
        else:
            sex = '女'
        dict1['sex'] = sex
        birth = str(sheet.cell(n, 5).value).split()[0]
        dict1['birth'] = birth
        dict1['unit'] = sheet.cell(n, 1).value
        if sheet.cell(n,10).value is not None:
            dict1['phone'] = sheet.cell(n, 10).value        
        person[code] = dict1

filename = 'data/北京农行人员名单.json'
with open(filename, 'w') as fl:
    json.dump(person, fl, ensure_ascii=False)
print('ok')

成绩导入

In [ ]:
import json
import time
import csv

filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for k,v in dict1.items():
    item[k] = v
re_ta = {}
dict1 = {}
list1 = []
filename = 'data/北京农行人员名单all.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

filename = 'data/places_result_20230918.csv'
with open(filename,'r',newline='') as csv_file:
    fl = csv.reader(csv_file,delimiter=',')
    header = next(fl)    
    for line in fl:
        #line = re.sub('[\r\n\f ]{1,}', '', line)
        list1.append(line)
#print(list1)
for result in list1:
    user = str(result[2])
    if user in dict1.keys():        
        m_item = str(result[3])    
        re_ta.setdefault(user,{})    
        re_ta[user]['name'] = dict1[user]['name']
        re_ta[user]['sex'] = dict1[user]['sex'] 
        re_ta[user]['unit'] = dict1[user]['unit']
        item_name = item[m_item]['name']
        re_ta[user].setdefault(item_name,{})  
        score = int(result[4])/item[m_item]['divisor']    
        re_ta[user][item_name]['成绩'] = f'{score} {item[m_item]["unit"]}'
        re_ta[user][item_name]['得分'] = result[5]
print(len(re_ta))
filename = 'data/result_北京农行.json'

with open(filename,'w') as fl:
    json.dump(re_ta, fl, ensure_ascii=False) 
print(len(re_ta))

成绩导出

In [ ]:
import json
import openpyxl

items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','性别','单位','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']

filename = 'data/result_北京农行.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)

filename = 'data/北京农行人员名单all.json'
with open(filename,'r') as fl:
    dict2 = json.load(fl)
    
list1 = []
for k, v in dict1.items():
    list2 = []
    list2.append(str(k).rjust(5,'0'))
    list2.append(v['name'])    
    list2.append(dict2[k]['sex'])
    list2.append(dict2[k]['unit'])
    for item in items:
        if item in v.keys():
            list2.append(v[item]['成绩'])  
            list2.append(v[item]['得分']) 
        elif item =='name':
            list2.append(v[item])
        else:
            list2.append('') 
            list2.append('')  
    list1.append(list2)
filename = 'data/北京农行体测情况.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
    sheet.append(row)
    
wb.save(filename)

报告按部门分类更名

In [ ]:
import os,sys,shutil
import json
import math
import glob
from pathlib import Path

fi_path = 'file/2023-05-23'
old = []
dict2 = {}

filename = 'data/result_北京农行.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)

for k, v in dict1.items():
    m_name = v['name']
    m_depart = v['unit']    
    dict2[int(k)] = [m_name,m_depart]

fls = glob.glob(f'{fi_path}/*.pdf')

for fn in fls:
    old.append(os.path.basename(fn).split('.')[0])

for n in old:    
    o_name = f'{fi_path}/{n}.pdf'
    new_path = Path(fi_path,'new',dict1[n]['unit'])
    new_path.mkdir(parents = True, exist_ok = True)
    n_name = Path(new_path,f'{str(n).rjust(5,"0")}-{dict2[int(n)][0]}.pdf')
    if not os.path.exists(n_name):
        shutil.copyfile(o_name,n_name)
        print(n_name)
    
print('ok')

生成人员电话信息表

In [ ]:
import json
import openpyxl
wb = openpyxl.load_workbook('data/农业银行测试手机号码统计表.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
dict1 = {}

for n in range(2, sheet.max_row+1):
    if sheet.cell(n,5).value is not None:
        phone = str(sheet.cell(n, 5).value)
        dict1.setdefault(phone,{})
        code = str(sheet.cell(n, 2).value)
        unit = sheet.cell(n, 1).value
        name = sheet.cell(n, 3).value
        sex = sheet.cell(n, 4).value
        dict1[phone]['code'] = code
        dict1[phone]['name'] = name
        #dict1[phone]['unit'] = unit
        #dict1[phone]['sex'] = sex
filename = 'data/农业银行测试手机号码.json'

with open(filename,'w') as fl:
    json.dump(dict1, fl, ensure_ascii=False) 
print(len(dict1))

生成验证码

In [ ]:
import random
import json

code_list = []
for i in range(10):   # 0~9
    code_list.append(str(i))
    
list1 = []
#print(code_num)
i = 1
while i < 165:
    code = random.sample(code_list,6)   #随机取6位数
    code_num = ''.join(code)
    if code_num not in list1:
        list1.append(code_num)
        i +=1
print(len(list1))
print(list1)
i = 0
filename = 'data/农业银行测试手机号码.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
for k, v in dict1.items():
    dict1[k]['yzm'] = list1[i]
    i +=1
with open(filename,'w') as fl:
    json.dump(dict1, fl, ensure_ascii=False)     

生成下载链接

In [ ]:
filename = 'data/农业银行测试手机号码.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
dict2 = {}
for k, v in dict1.items():
    dict2.setdefault(v['yzm'],{})
    dict2[v['yzm']]['code'] = v['code']
    dict2[v['yzm']]['name'] = v['name']
print(len(dict2))
filename = 'data/yzm.json'
with open(filename,'w') as fl:
    json.dump(dict2, fl, ensure_ascii=False)   

发送短信

In [ ]:
import json
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.sms.v20210111 import sms_client, models
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
try:    
    secretId = "AKID22rVyvSqbikXFFvav31ykc9YmqjN6KYc"
    secretKey = "51XVL1YxDKI6mJh8au6DDuTskS1RhwJX"
    cred = credential.Credential(secretId, secretKey) 
    httpProfile = HttpProfile()
    httpProfile.reqMethod = "POST"  # post请求(默认为post请求)
    httpProfile.reqTimeout = 30    # 请求超时时间,单位为秒(默认60秒)
    httpProfile.endpoint = "sms.tencentcloudapi.com"  # 指定接入地域域名(默认就近接入)
    clientProfile = ClientProfile()
    clientProfile.signMethod = "TC3-HMAC-SHA256"  # 指定签名算法
    clientProfile.language = "en-US"
    clientProfile.httpProfile = httpProfile
    client = sms_client.SmsClient(cred, "ap-guangzhou", clientProfile)
    req = models.SendSmsRequest()
    req.SmsSdkAppId = "1400140089"
    req.SignName = "坤铭教育"
    req.TemplateId = "1875765"    
    req.TemplateParamSet = ["北京石油分公司体测者","01740518"]
    req.PhoneNumberSet = ["+8613793180751"]
    req.SessionContext = ""
    req.ExtendCode = ""
    req.SenderId = ""
    resp = client.SendSms(req)
    print(resp.to_json_string(indent=2))
except TencentCloudSDKException as err:
    print(err)
In [ ]:
dict1 = json.loads(resp.to_json_string(indent=2))
print(dict1['SendStatusSet'][0]["Message"])

批量发送短信(测试)

In [ ]:

from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.sms.v20210111 import sms_client, models
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
import json

filename = 'data/短信测试手机号码.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
for k, v in dict1.items():
    phone = '+86'+str(k)
    yzm = v['yzm']
    try:    
        secretId = "AKID22rVyvSqbikXFFvav31ykc9YmqjN6KYc"
        secretKey = "51XVL1YxDKI6mJh8au6DDuTskS1RhwJX"
        cred = credential.Credential(secretId, secretKey) 
        httpProfile = HttpProfile()
        httpProfile.reqMethod = "POST"  # post请求(默认为post请求)
        httpProfile.reqTimeout = 30    # 请求超时时间,单位为秒(默认60秒)
        httpProfile.endpoint = "sms.tencentcloudapi.com"  # 指定接入地域域名(默认就近接入)
        clientProfile = ClientProfile()
        clientProfile.signMethod = "TC3-HMAC-SHA256"  # 指定签名算法
        clientProfile.language = "en-US"
        clientProfile.httpProfile = httpProfile
        client = sms_client.SmsClient(cred, "ap-guangzhou", clientProfile)
        req = models.SendSmsRequest()
        req.SmsSdkAppId = "1400140089"
        req.SignName = "坤铭教育"
        req.TemplateId = "1808914"    
        req.TemplateParamSet = [yzm]
        req.PhoneNumberSet = [phone]
        req.SessionContext = ""
        req.ExtendCode = ""
        req.SenderId = ""
        #resp = client.SendSms(req)
        dict2 = json.loads(resp.to_json_string(indent=2))

        print(v['name'],dict2['SendStatusSet'][0]["Message"])
    except TencentCloudSDKException as err:
        print(v['name'],err)

第二次体测

人员信息导入

In [ ]:
import openpyxl
import json


wb = openpyxl.load_workbook('data/北京分行员工体质检测情况表.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
person = {}

for n in range(2, sheet.max_row+1):
    if sheet.cell(n,1).value is not None:
        code = int(sheet.cell(n, 1).value)
        person.setdefault(code, {})
        dict1 = {}
        dict1['name'] = sheet.cell(n, 3).value
        if sheet.cell(n, 4).value ==1:
            sex = '男'
        else:
            sex = '女'
        dict1['sex'] = sex
        birth = str(sheet.cell(n, 5).value).split()[0]
        dict1['birth'] = birth
        dict1['unit'] = sheet.cell(n, 2).value
        if sheet.cell(n,6).value is not None:
            dict1['phone'] = sheet.cell(n, 6).value        
        person[code] = dict1

filename = 'data/北京农行人员名单2308.json'
with open(filename, 'w') as fl:
    json.dump(person, fl, ensure_ascii=False)
print('ok')

成绩导入

In [ ]:
import json
import time
import csv

filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for k,v in dict1.items():
    item[k] = v
re_ta = {}
dict1 = {}
list1 = []
filename = 'data/北京农行人员名单2308.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

filename = 'data/places_result_20230825.csv'
with open(filename,'r',newline='') as csv_file:
    fl = csv.reader(csv_file,delimiter=',')
    header = next(fl)    
    for line in fl:
        #line = re.sub('[\r\n\f ]{1,}', '', line)
        list1.append(line)
#print(list1)
for result in list1:
    user = str(result[2])
    if user in dict1.keys():        
        m_item = str(result[3])    
        re_ta.setdefault(user,{})    
        re_ta[user]['name'] = dict1[user]['name']
        re_ta[user]['sex'] = dict1[user]['sex'] 
        re_ta[user]['unit'] = dict1[user]['unit']
        item_name = item[m_item]['name']
        re_ta[user].setdefault(item_name,{})  
        score = int(result[4])/item[m_item]['divisor']    
        re_ta[user][item_name]['成绩'] = f'{score} {item[m_item]["unit"]}'
print(len(re_ta))
filename = 'data/result_北京农行0825.json'

with open(filename,'w') as fl:
    json.dump(re_ta, fl, ensure_ascii=False) 
print(len(re_ta))
In [ ]:
import json
import time
import csv

filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for k,v in dict1.items():
    item[k] = v
re_ta = {}
dict1 = {}
list1 = []
filename = 'data/北京农行人员名单2308.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

filename = 'data/places_result_20230825.csv'
with open(filename,'r',newline='') as csv_file:
    fl = csv.reader(csv_file,delimiter=',')
    header = next(fl)    
    for line in fl:
        #line = re.sub('[\r\n\f ]{1,}', '', line)
        list1.append(line)
#print(list1)
for result in list1:
    user = str(result[2])
    if user in dict1.keys():        
        m_item = str(result[3])    
        re_ta.setdefault(user,{})    
        re_ta[user]['name'] = dict1[user]['name']
        re_ta[user]['sex'] = dict1[user]['sex'] 
        re_ta[user]['unit'] = dict1[user]['unit']
        item_name = item[m_item]['name']
        re_ta[user].setdefault(item_name,{})  
        score = int(result[4])/item[m_item]['divisor']    
        re_ta[user][item_name]['成绩'] = f'{score} {item[m_item]["unit"]}'
print(len(re_ta))
filename = 'data/result_北京农行0825.json'

with open(filename,'w') as fl:
    json.dump(re_ta, fl, ensure_ascii=False) 
print(len(re_ta))

查看项目不足人员

In [ ]:
import json
import time
import csv

filename = 'data/result_北京农行0825.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
i= 0
for k, v in dict1.items():
    if len(v.keys())< 8:
        print(k,v['name'])

导出测试人员信息

In [ ]:
import json
import openpyxl


filename = 'data/result_北京农行0825.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
list1 =[]
for k, v in dict1.items():
    list2 = []
    list2 = [k,v['name'],v['sex'],v['unit']]
    list1.append(list2)
filename = 'data/北京农行测试人员202308.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active

for row in list1:
    sheet.append(row)
    
wb.save(filename)

检查性别

In [ ]:
import json


filename = 'data/result_北京农行0825.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
for k, v in dict1.items():
    if v['sex'] == '男' and '一分钟仰卧起坐' in v.keys():
        print(k,'应为女性!')
    if v['sex'] == '女' and '俯卧撑' in v.keys():
        print(k,'应为男性!')

手工数据生成SQL

In [ ]:
import openpyxl
import json


wb = openpyxl.load_workbook('data/北京农行测试人员202308.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
dict1 = {}

data1 =list(sheet.values)
del data1[0]
list1 = []
for item in data1:
    code = int(item[0])
    list1.append((309118,code,5,item[4],'2023-08-23','2023-08-23 22:00:00'))
print(list1)

核对问卷人员信息

In [ ]:
import json
import csv


filename = 'data/北京农行人员名单2308.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
    
filename = 'data/Survey_20230913.csv'
with open(filename,'r',newline='') as csv_file:
    fl = csv.reader(csv_file,delimiter=',')
    header = next(fl)    
    for line in fl:
        code = str(line[4])
        name = line[3]
        
        if code not in dict1.keys() or name!= dict1[code]['name']:
            print(code,name)
        
        

合并人员信息

In [ ]:
import json

filename = 'data/北京农行人员名单2308.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

filename = 'data/北京农行人员名单.json'
with open(filename,'r') as fl:
    dict2 = json.load(fl) 
for k, v in dict2.items():
    dict1[k] = v
filename = 'data/北京农行人员名单all.json'

with open(filename,'w') as fl:
    json.dump(dict1, fl, ensure_ascii=False) 
print(len(re_ta))

报告按部门分类

In [29]:
import os,sys,shutil
import json
import glob
from pathlib import Path

fi_path = '/home/songyi/python/mycrm/flask/pdf/files/309118'
new_path = 'file/309118'
old = []
dict2 = {}

filename = 'data/北京农行人员名单all.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
fls = glob.glob(f'{fi_path}/*.pdf')
for fn in fls:
    fi_name =Path(fn).stem.split('-')[0]
    code = int(fi_name)
    unit_path = Path(new_path,dict1[str(code)]['unit'])
    unit_path.mkdir(parents = True, exist_ok = True)
    n_name = Path(unit_path,Path(fn).stem+'.pdf')
    if not os.path.exists(n_name):
        shutil.copyfile(fn,n_name)
        print(n_name)
file/309118/石景山支行/0375-董哲.pdf
file/309118/北京分行/0073-樊荣.pdf
file/309118/西城支行/0145-董明.pdf
file/309118/宣武支行/0355-张秋.pdf
file/309118/北京分行/0002-李伟丽.pdf
file/309118/分行机关/0632-向奕林.pdf
file/309118/顺义支行/0491-李亚轩.pdf
file/309118/海淀支行/0608-李泽良.pdf
file/309118/崇文支行/0458-刘莹雪.pdf
file/309118/丰台支行/0403-张立新.pdf
file/309118/宣武支行/0346-张焱.pdf
file/309118/北京分行/0070-马昊喜.pdf
file/309118/海淀支行/0610-王晨晨.pdf
file/309118/西城支行/0159-万江.pdf
file/309118/东城支行/0393-张鹏.pdf
file/309118/朝阳支行/0341-罗菁.pdf
file/309118/北京分行/0048-柏晶.pdf
file/309118/万寿路支行/0472-石剑.pdf
file/309118/万寿路支行/0482-华元溪.pdf
file/309118/西城支行/0149-陈艳.pdf
file/309118/丰台支行/0398-戚君然.pdf
file/309118/石景山支行/0371-赵瑞.pdf
file/309118/海东支行/0509-黄晨慧.pdf
file/309118/北京分行/0080-方了.pdf
file/309118/西城支行/0152-董昳.pdf
file/309118/北京分行/0033-张猛.pdf
file/309118/延庆支行/0430-田萌.pdf
file/309118/丰台支行/0417-高文学.pdf
file/309118/北京分行/0035-李广花.pdf
file/309118/副中心分行/0554-张金刚.pdf
file/309118/亚运村支行/0275-韦昱安.pdf
file/309118/海淀支行/0109-化天怡.pdf
file/309118/分行机关/0631-陈苡征.pdf
file/309118/朝阳东区支行/0568-王雯静.pdf
file/309118/亚运村支行/0280-黄冲.pdf
file/309118/延庆支行/0423-王立红.pdf
file/309118/大兴支行/0538-崔颢.pdf
file/309118/丰台支行/0419-王福东.pdf
file/309118/北京分行/0053-张嘉怡.pdf
file/309118/密云支行/0288-杜健.pdf
file/309118/亚运村支行/0284-时然.pdf
file/309118/石景山支行/0368-张欣.pdf
file/309118/分行机关/0223-陈晓琦.pdf
file/309118/东城支行/0392-栾涛.pdf
file/309118/石景山支行/0362-陈莉萍.pdf
file/309118/北京分行/0068-李梦昕.pdf
file/309118/丰台支行/0411-肖祎.pdf
file/309118/西城支行/0161-李金萍.pdf
file/309118/海淀支行/0621-周美含.pdf
file/309118/西城支行/0312-黎翔.pdf
file/309118/密云支行/0292-潘春阳.pdf
file/309118/自贸试验区分行/0211-马宏韬.pdf
file/309118/海东支行/0522-何硕.pdf
file/309118/大兴支行/0528-郭继超.pdf
file/309118/顺义支行/0503-郑强.pdf
file/309118/西城支行/0148-张瑞芝.pdf
file/309118/房山支行/0586-陈傲然.pdf
file/309118/北京分行/0091-王曦.pdf
file/309118/海东支行/0511-马晨光.pdf
file/309118/北京分行/0094-王媛.pdf
file/309118/自贸试验区分行/0210-赵一.pdf
file/309118/副中心分行/0553-韩玉娇.pdf
file/309118/大兴支行/0527-刘丹.pdf
file/309118/自贸试验区分行/0218-王吉.pdf
file/309118/北京分行/0024-沈修旭.pdf
file/309118/昌平支行/0242-赵文迪.pdf
file/309118/崇文支行/0451-周金燕.pdf
file/309118/万寿路支行/0470-姜轶.pdf
file/309118/石景山支行/0373-张鹏.pdf
file/309118/昌平支行/0252-徐一弘.pdf
file/309118/怀柔支行/0446-李铁峥.pdf
file/309118/大兴支行/0545-刘晓霞.pdf
file/309118/延庆支行/0432-王峰.pdf
file/309118/北京分行/0008-张泽宇昕.pdf
file/309118/海东支行/0515-陈佳乐.pdf
file/309118/丰台支行/0405-孙达.pdf
file/309118/西城支行/0316-仇建培.pdf
file/309118/西城支行/0130-王志佳.pdf
file/309118/北京分行/0054-刘志健.pdf
file/309118/房山支行/0590-薛新丽.pdf
file/309118/崇文支行/0454-高雪.pdf
file/309118/密云支行/0296-贾秀娟.pdf
file/309118/延庆支行/0427-王顺平.pdf
file/309118/丰台支行/0402-彭月.pdf
file/309118/崇文支行/0450-彭晓冬.pdf
file/309118/北京分行/0045-丁荣刚.pdf
file/309118/东城支行/0386-周湘尧.pdf
file/309118/分行机关/0229-张和平.pdf
file/309118/朝阳东区支行/0584-杨晓光.pdf
file/309118/自贸试验区分行/0216-张中琳.pdf
file/309118/昌平支行/0241-杜伟.pdf
file/309118/北京分行/0077-吴洁敏.pdf
file/309118/万寿路支行/0479-李泽君.pdf
file/309118/万寿路支行/0473-刘苡松.pdf
file/309118/丰台支行/0399-侯启钧.pdf
file/309118/自贸试验区分行/0212-李晨南.pdf
file/309118/海淀支行/0609-郑婷婷.pdf
file/309118/亚运村支行/0281-高博.pdf
file/309118/海淀支行/0108-刘欣.pdf
file/309118/海淀支行/0618-李硕.pdf
file/309118/北京分行/0006-孙静丽.pdf
file/309118/西城支行/0141-张娟.pdf
file/309118/西城支行/0133-郭健.pdf
file/309118/平谷支行/0269-王国强.pdf
file/309118/北京分行/0078-牛晓彤.pdf
file/309118/宣武支行/0351-林丽.pdf
file/309118/副中心分行/0567-赵峥.pdf
file/309118/分行营业部/0377-张旭.pdf
file/309118/北京分行/0093-王轶楠.pdf
file/309118/西城支行/0158-邓莉莉.pdf
file/309118/顺义支行/0488-李静涵.pdf
file/309118/东城支行/0390-杨泽钦.pdf
file/309118/顺义支行/0499-孙宏宇.pdf
file/309118/顺义支行/0487-董业凯.pdf
file/309118/北京分行/0010-闫海霞.pdf
file/309118/朝阳东区支行/0578-李安妮.pdf
file/309118/崇文支行/0456-张颖儿.pdf
file/309118/顺义支行/0505-朱辰浩.pdf
file/309118/自贸试验区分行/0215-白盛锦.pdf
file/309118/副中心分行/0565-丁健超.pdf
file/309118/丰台支行/0407-于凯迪.pdf
file/309118/顺义支行/0492-梁嘉彤.pdf
file/309118/怀柔支行/0442-张春秀.pdf
file/309118/万寿路支行/0485-薛蕊.pdf
file/309118/平谷支行/0265-李阳.pdf
file/309118/朝阳支行/0335-侯明辉.pdf
file/309118/房山支行/0596-李希文.pdf
file/309118/大兴支行/0546-刘燕.pdf
file/309118/北京分行/0099-马雪超.pdf
file/309118/北京分行/0030-张妍.pdf
file/309118/自贸试验区分行/0217-吴晓宇.pdf
file/309118/门头沟支行/0201-吴峥.pdf
file/309118/崇文支行/0463-韩睿.pdf
file/309118/副中心分行/0552-马丽明.pdf
file/309118/房山支行/0593-高祎.pdf
file/309118/西城支行/0131-康立.pdf
file/309118/延庆支行/0436-聂艳青.pdf
file/309118/海淀支行/0619-赵海君.pdf
file/309118/西城支行/0132-王剑涛.pdf
file/309118/西城支行/0309-段泽.pdf
file/309118/海东支行/0512-陈曼.pdf
file/309118/延庆支行/0428-纪艳超.pdf
file/309118/崇文支行/0453-王思.pdf
file/309118/崇文支行/0460-赵岳君.pdf
file/309118/东城支行/0391-来有为.pdf
file/309118/北京分行/0081-张巍.pdf
file/309118/海淀支行/0116-杨威.pdf
file/309118/亚运村支行/0277-刘菁.pdf
file/309118/北京分行/0043-葛文宁.pdf
file/309118/宣武支行/0353-马辉.pdf
file/309118/朝阳东区支行/0573-刘倩.pdf
file/309118/北京分行/0074-刘京晶.pdf
file/309118/北京分行/0009-李焱.pdf
file/309118/西城支行/0155-高海蓉.pdf
file/309118/西城支行/0311-杨雪梅.pdf
file/309118/海东支行/0514-杜欣然.pdf
file/309118/万寿路支行/0481-张海天.pdf
file/309118/西城支行/0139-李璐.pdf
file/309118/副中心分行/0561-赵丽.pdf
file/309118/东城支行/0380-胡佳新.pdf
file/309118/海淀支行/0612-张菡.pdf
file/309118/北京分行/0058-蔡旭.pdf
file/309118/北京分行/0023-邢晓丽.pdf
file/309118/朝阳东区支行/0571-徐扬.pdf
file/309118/分行机关/0634-武玉琼.pdf
file/309118/西城支行/0307-任春霞.pdf
file/309118/顺义支行/0494-马振钧.pdf
file/309118/丰台支行/0406-孙立业.pdf
file/309118/分行机关/0219-聂安安.pdf
file/309118/海淀支行/0115-郭茜.pdf
file/309118/北京分行/0025-方雪静.pdf
file/309118/大兴支行/0539-赵增福.pdf
file/309118/北京分行/0004-张树伟.pdf
file/309118/西城支行/0318-李国亮.pdf
file/309118/副中心分行/0560-徐艳霞.pdf
file/309118/顺义支行/0496-荣雨浓.pdf
file/309118/延庆支行/0429-李冉.pdf
file/309118/分行机关/0221-景东丽.pdf
file/309118/东城支行/0388-李秋实.pdf
file/309118/丰台支行/0420-董云桥.pdf
file/309118/石景山支行/0367-李士杰.pdf
file/309118/怀柔支行/0445-柳显鑫.pdf
file/309118/北京分行/0051-修扬.pdf
file/309118/密云支行/0297-王新昊.pdf
file/309118/大兴支行/0534-马琳.pdf
file/309118/海淀支行/0617-韩建英.pdf
file/309118/北京分行/0090-焦健.pdf
file/309118/海淀支行/0605-刘畅.pdf
file/309118/房山支行/0597-王奇勋.pdf
file/309118/北京分行/0096-梅亚彪.pdf
file/309118/房山支行/0591-冯赢锐.pdf
file/309118/门头沟支行/0204-季鑫.pdf
file/309118/北京分行/0026-崔兆洋.pdf
file/309118/房山支行/0603-李依潞.pdf
file/309118/朝阳支行/0332-白禹.pdf
file/309118/北京分行/0061-项怡.pdf
file/309118/朝阳支行/0330-张静.pdf
file/309118/海淀支行/0625-朱一康.pdf
file/309118/延庆支行/0437-王皓洋.pdf
file/309118/西城支行/0138-孟冰.pdf
file/309118/西城支行/0140-赵瑜.pdf
file/309118/朝阳东区支行/0569-马蔷.pdf
file/309118/丰台支行/0415-李斌.pdf
file/309118/平谷支行/0266-蔡颖楠.pdf
file/309118/西城支行/0154-郭小纲.pdf
file/309118/北京分行/0095-齐聪.pdf
file/309118/北京分行/0066-王芳.pdf
file/309118/北京分行/0102-王思璐.pdf
file/309118/宣武支行/0347-王海波.pdf
file/309118/万寿路支行/0468-董武.pdf
file/309118/昌平支行/0243-宋源超.pdf
file/309118/宣武支行/0345-倪一鸣.pdf
file/309118/丰台支行/0414-于佩仟.pdf
file/309118/北京分行/0001-亓宇航.pdf
file/309118/海东支行/0517-田杰.pdf
file/309118/万寿路支行/0477-郭亮.pdf
file/309118/丰台支行/0413-孙占京.pdf
file/309118/自贸试验区分行/0208-齐学健.pdf
file/309118/海东支行/0508-张翀.pdf
file/309118/房山支行/0602-魏小璐.pdf
file/309118/西城支行/0144-李鸿雁.pdf
file/309118/石景山支行/0365-金曦.pdf
file/309118/朝阳支行/0343-刘恩伊.pdf
file/309118/朝阳支行/0337-梁军.pdf
file/309118/北京分行/0056-王洪梅.pdf
file/309118/顺义支行/0500-王达.pdf
file/309118/北京分行/0014-白静.pdf
file/309118/北京分行/0007-王治梅.pdf
file/309118/分行营业部/0378-程佳琪.pdf
file/309118/延庆支行/0434-高玉红.pdf
file/309118/崇文支行/0459-刘瑶.pdf
file/309118/北京分行/0044-刘宪军.pdf
file/309118/北京分行/0017-王强.pdf
file/309118/北京分行/0071-宋颖.pdf
file/309118/密云支行/0302-杨旭.pdf
file/309118/门头沟支行/0205-周怡君.pdf
file/309118/海淀支行/0615-韩旭怡.pdf
file/309118/丰台支行/0410-边行行.pdf
file/309118/延庆支行/0431-焦鸿.pdf
file/309118/万寿路支行/0483-张垒.pdf
file/309118/北京分行/0039-刘欣.pdf
file/309118/房山支行/0585-高春阳.pdf
file/309118/昌平支行/0254-李凯.pdf
file/309118/顺义支行/0502-张博巍.pdf
file/309118/北京分行/0022-刘典.pdf
file/309118/北京分行/0072-郭若宇.pdf
file/309118/密云支行/0304-赵璐斌.pdf
file/309118/西城支行/0126-陈晓萍.pdf
file/309118/北京分行/0088-赵博.pdf
file/309118/西城支行/0150-吴金英.pdf
file/309118/北京分行/0019-杨海月.pdf
file/309118/北京分行/0003-高松.pdf
file/309118/朝阳东区支行/0576-张永利.pdf
file/309118/万寿路支行/0466-韩磊.pdf
file/309118/丰台支行/0418-张路.pdf
file/309118/大兴支行/0542-姚金峰.pdf
file/309118/副中心分行/0549-曹杰.pdf
file/309118/朝阳支行/0340-冯福春.pdf
file/309118/北京分行/0065-张炯.pdf
file/309118/副中心分行/0550-韩冬.pdf
file/309118/分行机关/0228-胡巍.pdf
file/309118/西城支行/0128-王珂.pdf
file/309118/大兴支行/0529-常烁.pdf
file/309118/北京分行/0063-孙萌.pdf
file/309118/门头沟支行/0203-田晶.pdf
file/309118/大兴支行/0537-李宝霞.pdf
file/309118/房山支行/0592-郭彦刚.pdf
file/309118/北京分行/0079-田文欣.pdf
file/309118/朝阳东区支行/0570-尹潇潇.pdf
file/309118/西城支行/0129-贾立文.pdf
file/309118/万寿路支行/0476-袁莉.pdf
file/309118/亚运村支行/0285-凌松.pdf
file/309118/大兴支行/0536-马艳玲.pdf
file/309118/海淀支行/0624-塔婉双.pdf
file/309118/海淀支行/0112-张栩赫.pdf
file/309118/顺义支行/0498-宋虎跃.pdf
file/309118/西城支行/0142-于书冰.pdf
file/309118/大兴支行/0535-王微.pdf
file/309118/副中心分行/0559-王晗.pdf
file/309118/北京分行/0082-徐浩.pdf
file/309118/北京分行/0055-杨博.pdf
file/309118/石景山支行/0376-付潇.pdf
file/309118/西城支行/0310-鲍颖强.pdf
file/309118/崇文支行/0464-隋星宇.pdf
file/309118/副中心分行/0551-雒晨晖.pdf
file/309118/门头沟支行/0202-董凯.pdf
file/309118/分行机关/0225-苏青.pdf
file/309118/怀柔支行/0438-贾文琪.pdf
file/309118/怀柔支行/0444-胡克山.pdf
file/309118/东城支行/0397-邓轩.pdf
file/309118/东城支行/0389-肖丹.pdf
file/309118/北京分行/0097-熊黎.pdf
file/309118/北京分行/0062-郑拓.pdf
file/309118/顺义支行/0497-施润言.pdf
file/309118/万寿路支行/0474-王健.pdf
file/309118/丰台支行/0416-刘斯琦.pdf
file/309118/崇文支行/0465-陶韬.pdf
file/309118/西城支行/0163-王艺林.pdf
file/309118/顺义支行/0486-蔡洁.pdf
file/309118/海淀支行/0107-王熙诚.pdf
file/309118/海东支行/0525-王贺.pdf
file/309118/亚运村支行/0273-朱江浩.pdf
file/309118/顺义支行/0501-杨丽菲.pdf
file/309118/分行机关/0635-李革.pdf
file/309118/西城支行/0125-张德义.pdf
file/309118/崇文支行/0452-付颖.pdf
file/309118/东城支行/0387-李司锦.pdf
file/309118/副中心分行/0562-塔欣.pdf
file/309118/北京分行/0057-付孆云.pdf
file/309118/朝阳东区支行/0577-郝光照.pdf
file/309118/西城支行/0127-陈海娜.pdf
file/309118/万寿路支行/0478-李璐.pdf
file/309118/房山支行/0598-田润雨.pdf
file/309118/北京分行/0018-董葳.pdf
file/309118/平谷支行/0260-陈新洁.pdf
file/309118/亚运村支行/0286-张伟超.pdf
file/309118/亚运村支行/0279-赵嘉旭.pdf
file/309118/朝阳东区支行/0574-弋荣静.pdf
file/309118/顺义支行/0489-李冉.pdf
file/309118/密云支行/0300-郭莉.pdf
file/309118/朝阳东区支行/0572-冯媛媛.pdf
file/309118/大兴支行/0531-赵迎春.pdf
file/309118/北京分行/0012-郑玲.pdf
file/309118/海淀支行/0607-高子尧.pdf
file/309118/副中心分行/0548-王茜.pdf
file/309118/宣武支行/0349-周翔宇.pdf
file/309118/丰台支行/0412-赵维国.pdf
file/309118/海淀支行/0122-张梦浓.pdf
file/309118/延庆支行/0435-李凯东.pdf
file/309118/东城支行/0382-王清.pdf
file/309118/亚运村支行/0276-孙瑞莹.pdf
file/309118/崇文支行/0462-郭晴.pdf
file/309118/丰台支行/0404-马子暄.pdf
file/309118/西城支行/0157-王红.pdf
file/309118/西城支行/0153-刘鹏.pdf
file/309118/朝阳东区支行/0575-李琳.pdf
file/309118/宣武支行/0357-张迪.pdf
file/309118/东城支行/0384-葛媛.pdf
file/309118/朝阳支行/0338-黄海燕.pdf
file/309118/西城支行/0134-杨晓兰.pdf
file/309118/分行机关/0630-邢如风.pdf
file/309118/宣武支行/0348-周明超.pdf
file/309118/西城支行/0156-王国华.pdf
file/309118/大兴支行/0540-陈晓璇.pdf
file/309118/海淀支行/0633-贺淦炫.pdf
file/309118/万寿路支行/0484-刘果.pdf
file/309118/西城支行/0143-张梅.pdf
file/309118/东城支行/0385-左梦媛.pdf
file/309118/分行机关/0220-王翀.pdf
file/309118/丰台支行/0401-王海燕.pdf
file/309118/亚运村支行/0287-拓翔天.pdf
file/309118/北京分行/0100-张文轩.pdf
file/309118/北京分行/0086-井天鹤.pdf
file/309118/东城支行/0395-张维佳.pdf
file/309118/海淀支行/0606-赵龙.pdf
file/309118/北京分行/0038-高悦.pdf
file/309118/万寿路支行/0480-李亚辉.pdf
file/309118/亚运村支行/0274-吴海燕.pdf
file/309118/朝阳支行/0329-王玥.pdf
file/309118/丰台支行/0408-刘好好.pdf
file/309118/北京分行/0059-岑若民.pdf
file/309118/朝阳东区支行/0581-王雅男.pdf
file/309118/西城支行/0135-沈新.pdf
file/309118/亚运村支行/0283-冯琳.pdf
file/309118/东城支行/0383-杨朔闻.pdf
file/309118/海淀支行/0121-程瑶.pdf
file/309118/北京分行/0005-聂凌波.pdf
file/309118/北京分行/0083-辛慧.pdf
file/309118/崇文支行/0455-刘晓玲.pdf
file/309118/北京分行/0069-张文绪.pdf
file/309118/北京分行/0037-木子.pdf
file/309118/亚运村支行/0282-李想.pdf
file/309118/海东支行/0510-穆丹.pdf
file/309118/北京分行/0049-李鹏.pdf
file/309118/西城支行/0308-佟鑫.pdf
file/309118/丰台支行/0409-李文博.pdf
file/309118/石景山支行/0370-王靖.pdf
file/309118/西城支行/0313-商珺澍.pdf
file/309118/朝阳东区支行/0583-张雪梅.pdf
file/309118/延庆支行/0426-王晨.pdf
file/309118/北京分行/0036-张玉霞.pdf
file/309118/万寿路支行/0467-周昊宇.pdf
file/309118/西城支行/0320-崔劲颖.pdf
file/309118/西城支行/0146-庞涛.pdf
file/309118/北京分行/0040-方勇.pdf
file/309118/海淀支行/0117-杨思维.pdf
file/309118/崇文支行/0448-吉一阁.pdf
file/309118/房山支行/0588-金翠娜.pdf
file/309118/海淀支行/0604-崔承颖.pdf
file/309118/房山支行/0599-苏嘉宁.pdf
file/309118/怀柔支行/0447-刘会明.pdf
file/309118/朝阳支行/0326-万菁菁.pdf
file/309118/海淀支行/0613-李聆韬.pdf
file/309118/西城支行/0147-邹骞.pdf
file/309118/海淀支行/0611-王可心.pdf
file/309118/北京分行/0101-孙辙.pdf
file/309118/海东支行/0513-祁涛.pdf
file/309118/海东支行/0507-葛畅.pdf
file/309118/西城支行/0321-许归燕.pdf
file/309118/密云支行/0290-郭振.pdf
file/309118/怀柔支行/0441-朱晓霞.pdf
file/309118/海东支行/0521-陈蒙蒙.pdf
file/309118/分行机关/0629-赵龙.pdf
file/309118/顺义支行/0504-周子月.pdf
file/309118/海淀支行/0124-田华.pdf
file/309118/自贸试验区分行/0207-佟佳莹.pdf
file/309118/朝阳支行/0339-崔莎莎.pdf
file/309118/北京分行/0013-马艳侠.pdf
file/309118/宣武支行/0352-李博.pdf
file/309118/开发区分行/0628-张钰璇.pdf
file/309118/朝阳支行/0336-黄颖.pdf
file/309118/丰台支行/0422-郭春阳.pdf
file/309118/海淀支行/0616-王芳.pdf
file/309118/东城支行/0396-李雪婷.pdf
file/309118/北京分行/0020-戴知颖.pdf
file/309118/房山支行/0601-张婧雯.pdf
file/309118/石景山支行/0374-刘艺.pdf
file/309118/西城支行/0160-赵越.pdf
file/309118/宣武支行/0361-梁安萌.pdf
file/309118/密云支行/0301-彭博洋.pdf
file/309118/延庆支行/0425-刘静云.pdf
file/309118/平谷支行/0262-路平.pdf
file/309118/延庆支行/0424-张良娥.pdf
file/309118/宣武支行/0360-高敏.pdf
file/309118/大兴支行/0544-孔玉婷.pdf
file/309118/大兴支行/0533-张淑仙.pdf
file/309118/怀柔支行/0439-陈贺.pdf
file/309118/海淀支行/0626-李刚.pdf
file/309118/西城支行/0136-刘燕.pdf
file/309118/昌平支行/0237-王玉娜.pdf
file/309118/北京分行/0021-高冉.pdf
file/309118/密云支行/0299-赵颖.pdf
file/309118/朝阳支行/0328-郭海华.pdf
file/309118/朝阳东区支行/0582-魏世豪.pdf
file/309118/北京分行/0092-迟明旭.pdf
file/309118/石景山支行/0369-李岩.pdf
file/309118/平谷支行/0258-陈明.pdf
file/309118/西城支行/0319-付鹏.pdf
file/309118/朝阳支行/0327-刘诗晴.pdf
file/309118/崇文支行/0449-杨光星月.pdf
file/309118/西城支行/0322-石光.pdf
file/309118/宣武支行/0350-薛媛媛.pdf
file/309118/顺义支行/0493-雒婧涵.pdf
file/309118/海东支行/0519-潘成舰.pdf
file/309118/副中心分行/0558-曹爽.pdf
file/309118/西城支行/0314-肖泽骏.pdf
file/309118/海淀支行/0120-刘英.pdf
file/309118/平谷支行/0259-毛伟峰.pdf
file/309118/万寿路支行/0469-曾锦涛.pdf
file/309118/朝阳支行/0344-陈瑞博.pdf
file/309118/怀柔支行/0443-乔庆祥.pdf
file/309118/大兴支行/0530-司仿.pdf
file/309118/昌平支行/0250-陈锎.pdf
file/309118/密云支行/0306-王浩然.pdf
file/309118/北京分行/0015-张乾.pdf
file/309118/亚运村支行/0278-王跃洲.pdf
file/309118/房山支行/0600-周雪静.pdf
file/309118/大兴支行/0543-李艳霞.pdf
file/309118/万寿路支行/0471-李桐.pdf
file/309118/亚运村支行/0272-孙金凤.pdf
file/309118/怀柔支行/0440-高爽.pdf
file/309118/海东支行/0516-曹一枫.pdf
file/309118/房山支行/0587-薛伟楠.pdf
file/309118/北京分行/0016-马丽坤.pdf
file/309118/东城支行/0381-王茜雅.pdf
file/309118/开发区分行/0627-王新远.pdf
file/309118/丰台支行/0421-刘红梅.pdf
file/309118/北京分行/0041-吕文燕.pdf
file/309118/大兴支行/0547-张丽琴.pdf
file/309118/顺义支行/0490-李馨格.pdf
file/309118/北京分行/0067-王欣.pdf
file/309118/北京分行/0076-李慧.pdf
file/309118/延庆支行/0433-刘向飞.pdf
file/309118/海东支行/0524-张洪镭.pdf
file/309118/自贸试验区分行/0214-杨笑.pdf
file/309118/海淀支行/0110-王谦.pdf
file/309118/石景山支行/0372-刘禹良.pdf
file/309118/副中心分行/0557-曹雅明.pdf
file/309118/密云支行/0294-任昂.pdf
file/309118/石景山支行/0363-田超.pdf
file/309118/海东支行/0523-夏贝博.pdf
file/309118/北京分行/0046-唐华.pdf
file/309118/平谷支行/0267-王英.pdf
file/309118/朝阳东区支行/0579-吴弘.pdf
file/309118/万寿路支行/0475-王潇堂.pdf
file/309118/海淀支行/0623-范子璇.pdf
file/309118/北京分行/0089-李茜.pdf
file/309118/自贸试验区分行/0213-宁心源.pdf
file/309118/西城支行/0315-高浩涵.pdf
file/309118/丰台支行/0400-董肖.pdf
file/309118/海东支行/0506-杜愚.pdf

生成体测报告打印明细表

In [17]:
import os,sys,shutil
import json
import glob
from pathlib import Path
import openpyxl

fi_path = '/home/songyi/python/mycrm/flask/pdf/files/309118'
new_path = 'file/309118'
list1 = []
filename = 'data/北京农行人员名单all.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
fls = glob.glob(f'{fi_path}/*.pdf')
for fn in fls:
    list2 = []
    fi_name =Path(fn).stem.split('-')[0]    
    code = int(fi_name)
    unit = dict1[str(code)]['unit']
    list2 = [fi_name,Path(fn).stem.split('-')[1],unit]
    list1.append(list2)
filename = 'data/北京农行体测报告打印明细表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
    sheet.append(row)
    
wb.save(filename) 
print('ok')
ok
In [ ]: