{ "cells": [ { "cell_type": "markdown", "id": "4626da6c-d228-4270-8d8d-c98784a106ad", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "# 第一次体测" ] }, { "cell_type": "markdown", "id": "ba2deee7-9c63-4115-bcee-ad341175fc02", "metadata": {}, "source": [ "## 人员信息导入" ] }, { "cell_type": "code", "execution_count": null, "id": "dea5e486-6927-469f-aa57-e5efac4670be", "metadata": { "tags": [] }, "outputs": [], "source": [ "import openpyxl\n", "import json\n", "\n", "\n", "wb = openpyxl.load_workbook('data/农业银行测试名单.xlsx')\n", "sheet = wb.active\n", "# sheets = wb.sheetnames\n", "person = {}\n", "\n", "for n in range(2, sheet.max_row+1):\n", " if sheet.cell(n,1).value is not None:\n", " code = int(sheet.cell(n, 2).value)\n", " person.setdefault(code, {})\n", " dict1 = {}\n", " dict1['name'] = sheet.cell(n, 3).value\n", " if sheet.cell(n, 4).value ==1:\n", " sex = '男'\n", " else:\n", " sex = '女'\n", " dict1['sex'] = sex\n", " birth = str(sheet.cell(n, 5).value).split()[0]\n", " dict1['birth'] = birth\n", " dict1['unit'] = sheet.cell(n, 1).value\n", " if sheet.cell(n,10).value is not None:\n", " dict1['phone'] = sheet.cell(n, 10).value \n", " person[code] = dict1\n", "\n", "filename = 'data/北京农行人员名单.json'\n", "with open(filename, 'w') as fl:\n", " json.dump(person, fl, ensure_ascii=False)\n", "print('ok')" ] }, { "cell_type": "markdown", "id": "1c00e1e4-101a-4e9f-a7ed-9c65200d19df", "metadata": {}, "source": [ "## 成绩导入" ] }, { "cell_type": "code", "execution_count": null, "id": "fd73b8be-d3fe-49aa-99d2-3cc6df4a3eb0", "metadata": { "tags": [] }, "outputs": [], "source": [ "import json\n", "import time\n", "import csv\n", "\n", "filename = '../item.json'\n", "item = {}\n", "unit = {}\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", "for k,v in dict1.items():\n", " item[k] = v\n", "re_ta = {}\n", "dict1 = {}\n", "list1 = []\n", "filename = 'data/北京农行人员名单all.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", "\n", "filename = 'data/places_result_20230918.csv'\n", "with open(filename,'r',newline='') as csv_file:\n", " fl = csv.reader(csv_file,delimiter=',')\n", " header = next(fl) \n", " for line in fl:\n", " #line = re.sub('[\\r\\n\\f ]{1,}', '', line)\n", " list1.append(line)\n", "#print(list1)\n", "for result in list1:\n", " user = str(result[2])\n", " if user in dict1.keys(): \n", " m_item = str(result[3]) \n", " re_ta.setdefault(user,{}) \n", " re_ta[user]['name'] = dict1[user]['name']\n", " re_ta[user]['sex'] = dict1[user]['sex'] \n", " re_ta[user]['unit'] = dict1[user]['unit']\n", " item_name = item[m_item]['name']\n", " re_ta[user].setdefault(item_name,{}) \n", " score = int(result[4])/item[m_item]['divisor'] \n", " re_ta[user][item_name]['成绩'] = f'{score} {item[m_item][\"unit\"]}'\n", " re_ta[user][item_name]['得分'] = result[5]\n", "print(len(re_ta))\n", "filename = 'data/result_北京农行.json'\n", "\n", "with open(filename,'w') as fl:\n", " json.dump(re_ta, fl, ensure_ascii=False) \n", "print(len(re_ta))" ] }, { "cell_type": "markdown", "id": "928790e6-d8a4-4b2b-852a-3c323380a80f", "metadata": {}, "source": [ "## 成绩导出" ] }, { "cell_type": "code", "execution_count": null, "id": "b870bd6e-f972-4073-b13d-5fda8cc92bb7", "metadata": { "tags": [] }, "outputs": [], "source": [ "import json\n", "import openpyxl\n", "\n", "items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']\n", "title = ['编号','姓名','性别','单位','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']\n", "\n", "filename = 'data/result_北京农行.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl)\n", "\n", "filename = 'data/北京农行人员名单all.json'\n", "with open(filename,'r') as fl:\n", " dict2 = json.load(fl)\n", " \n", "list1 = []\n", "for k, v in dict1.items():\n", " list2 = []\n", " list2.append(str(k).rjust(5,'0'))\n", " list2.append(v['name']) \n", " list2.append(dict2[k]['sex'])\n", " list2.append(dict2[k]['unit'])\n", " for item in items:\n", " if item in v.keys():\n", " list2.append(v[item]['成绩']) \n", " list2.append(v[item]['得分']) \n", " elif item =='name':\n", " list2.append(v[item])\n", " else:\n", " list2.append('') \n", " list2.append('') \n", " list1.append(list2)\n", "filename = 'data/北京农行体测情况.xlsx'\n", "wb = openpyxl.Workbook()\n", "sheet = wb.active\n", "sheet.append(title)\n", "for row in list1:\n", " sheet.append(row)\n", " \n", "wb.save(filename)" ] }, { "cell_type": "markdown", "id": "dd2034ca-fe8b-4322-b06d-8c5eaf96373d", "metadata": {}, "source": [ "## 报告按部门分类更名" ] }, { "cell_type": "code", "execution_count": null, "id": "04967ec6-b9a0-4097-9e1f-8beaf8a9e75f", "metadata": { "tags": [] }, "outputs": [], "source": [ "import os,sys,shutil\n", "import json\n", "import math\n", "import glob\n", "from pathlib import Path\n", "\n", "fi_path = 'file/2023-05-23'\n", "old = []\n", "dict2 = {}\n", "\n", "filename = 'data/result_北京农行.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl)\n", "\n", "for k, v in dict1.items():\n", " m_name = v['name']\n", " m_depart = v['unit'] \n", " dict2[int(k)] = [m_name,m_depart]\n", "\n", "fls = glob.glob(f'{fi_path}/*.pdf')\n", "\n", "for fn in fls:\n", " old.append(os.path.basename(fn).split('.')[0])\n", "\n", "for n in old: \n", " o_name = f'{fi_path}/{n}.pdf'\n", " new_path = Path(fi_path,'new',dict1[n]['unit'])\n", " new_path.mkdir(parents = True, exist_ok = True)\n", " n_name = Path(new_path,f'{str(n).rjust(5,\"0\")}-{dict2[int(n)][0]}.pdf')\n", " if not os.path.exists(n_name):\n", " shutil.copyfile(o_name,n_name)\n", " print(n_name)\n", " \n", "print('ok')" ] }, { "cell_type": "markdown", "id": "515bc854-5745-4c38-8633-f56a078ea9a8", "metadata": { "execution": { "iopub.execute_input": "2023-05-25T09:28:28.615647Z", "iopub.status.busy": "2023-05-25T09:28:28.614774Z", "iopub.status.idle": "2023-05-25T09:28:28.619865Z", "shell.execute_reply": "2023-05-25T09:28:28.618821Z", "shell.execute_reply.started": "2023-05-25T09:28:28.615607Z" } }, "source": [ "## 生成人员电话信息表" ] }, { "cell_type": "code", "execution_count": null, "id": "c925d850-ff06-4be5-bf9f-31f4385c37c0", "metadata": { "tags": [] }, "outputs": [], "source": [ "import json\n", "import openpyxl\n", "wb = openpyxl.load_workbook('data/农业银行测试手机号码统计表.xlsx')\n", "sheet = wb.active\n", "# sheets = wb.sheetnames\n", "dict1 = {}\n", "\n", "for n in range(2, sheet.max_row+1):\n", " if sheet.cell(n,5).value is not None:\n", " phone = str(sheet.cell(n, 5).value)\n", " dict1.setdefault(phone,{})\n", " code = str(sheet.cell(n, 2).value)\n", " unit = sheet.cell(n, 1).value\n", " name = sheet.cell(n, 3).value\n", " sex = sheet.cell(n, 4).value\n", " dict1[phone]['code'] = code\n", " dict1[phone]['name'] = name\n", " #dict1[phone]['unit'] = unit\n", " #dict1[phone]['sex'] = sex\n", "filename = 'data/农业银行测试手机号码.json'\n", "\n", "with open(filename,'w') as fl:\n", " json.dump(dict1, fl, ensure_ascii=False) \n", "print(len(dict1))\n" ] }, { "cell_type": "markdown", "id": "0f13e837-15d9-4dc6-b356-78b79bbb5b17", "metadata": {}, "source": [ "## 生成验证码" ] }, { "cell_type": "code", "execution_count": null, "id": "a87384c6-dc46-4d09-b757-b42462ed818d", "metadata": { "tags": [] }, "outputs": [], "source": [ "import random\n", "import json\n", "\n", "code_list = []\n", "for i in range(10): # 0~9\n", " code_list.append(str(i))\n", " \n", "list1 = []\n", "#print(code_num)\n", "i = 1\n", "while i < 165:\n", " code = random.sample(code_list,6) #随机取6位数\n", " code_num = ''.join(code)\n", " if code_num not in list1:\n", " list1.append(code_num)\n", " i +=1\n", "print(len(list1))\n", "print(list1)\n", "i = 0\n", "filename = 'data/农业银行测试手机号码.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl)\n", "for k, v in dict1.items():\n", " dict1[k]['yzm'] = list1[i]\n", " i +=1\n", "with open(filename,'w') as fl:\n", " json.dump(dict1, fl, ensure_ascii=False) " ] }, { "cell_type": "markdown", "id": "6efc1c2b-7af1-49ec-9b48-8930a8dd2801", "metadata": {}, "source": [ "## 生成下载链接" ] }, { "cell_type": "code", "execution_count": null, "id": "10845b90-48b4-4418-9dac-dd4a6f0147c0", "metadata": { "tags": [] }, "outputs": [], "source": [ "filename = 'data/农业银行测试手机号码.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl)\n", "dict2 = {}\n", "for k, v in dict1.items():\n", " dict2.setdefault(v['yzm'],{})\n", " dict2[v['yzm']]['code'] = v['code']\n", " dict2[v['yzm']]['name'] = v['name']\n", "print(len(dict2))\n", "filename = 'data/yzm.json'\n", "with open(filename,'w') as fl:\n", " json.dump(dict2, fl, ensure_ascii=False) \n" ] }, { "cell_type": "markdown", "id": "fba0a0c4-edf2-45c2-9199-c6a86919f191", "metadata": {}, "source": [ "## 发送短信" ] }, { "cell_type": "code", "execution_count": null, "id": "62733f52-62c1-43aa-964a-232eab8b5251", "metadata": { "tags": [] }, "outputs": [], "source": [ "import json\n", "from tencentcloud.common import credential\n", "from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException\n", "from tencentcloud.sms.v20210111 import sms_client, models\n", "from tencentcloud.common.profile.client_profile import ClientProfile\n", "from tencentcloud.common.profile.http_profile import HttpProfile\n", "try: \n", " secretId = \"AKID22rVyvSqbikXFFvav31ykc9YmqjN6KYc\"\n", " secretKey = \"51XVL1YxDKI6mJh8au6DDuTskS1RhwJX\"\n", " cred = credential.Credential(secretId, secretKey) \n", " httpProfile = HttpProfile()\n", " httpProfile.reqMethod = \"POST\" # post请求(默认为post请求)\n", " httpProfile.reqTimeout = 30 # 请求超时时间,单位为秒(默认60秒)\n", " httpProfile.endpoint = \"sms.tencentcloudapi.com\" # 指定接入地域域名(默认就近接入)\n", " clientProfile = ClientProfile()\n", " clientProfile.signMethod = \"TC3-HMAC-SHA256\" # 指定签名算法\n", " clientProfile.language = \"en-US\"\n", " clientProfile.httpProfile = httpProfile\n", " client = sms_client.SmsClient(cred, \"ap-guangzhou\", clientProfile)\n", " req = models.SendSmsRequest()\n", " req.SmsSdkAppId = \"1400140089\"\n", " req.SignName = \"坤铭教育\"\n", " req.TemplateId = \"1875765\" \n", " req.TemplateParamSet = [\"北京石油分公司体测者\",\"01740518\"]\n", " req.PhoneNumberSet = [\"+8613793180751\"]\n", " req.SessionContext = \"\"\n", " req.ExtendCode = \"\"\n", " req.SenderId = \"\"\n", " resp = client.SendSms(req)\n", " print(resp.to_json_string(indent=2))\n", "except TencentCloudSDKException as err:\n", " print(err)" ] }, { "cell_type": "code", "execution_count": null, "id": "e924a0a9-65a5-49c4-bdf2-b9152d278ad5", "metadata": { "tags": [] }, "outputs": [], "source": [ "dict1 = json.loads(resp.to_json_string(indent=2))\n", "print(dict1['SendStatusSet'][0][\"Message\"])" ] }, { "cell_type": "markdown", "id": "c55a8af0-4e4d-4bd4-b5b1-0a7d9170958c", "metadata": {}, "source": [ "## 批量发送短信(测试)" ] }, { "cell_type": "code", "execution_count": null, "id": "910d1881-d090-48dc-ac87-685ccaaf9553", "metadata": { "tags": [] }, "outputs": [], "source": [ "\n", "from tencentcloud.common import credential\n", "from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException\n", "from tencentcloud.sms.v20210111 import sms_client, models\n", "from tencentcloud.common.profile.client_profile import ClientProfile\n", "from tencentcloud.common.profile.http_profile import HttpProfile\n", "import json\n", "\n", "filename = 'data/短信测试手机号码.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl)\n", "for k, v in dict1.items():\n", " phone = '+86'+str(k)\n", " yzm = v['yzm']\n", " try: \n", " secretId = \"AKID22rVyvSqbikXFFvav31ykc9YmqjN6KYc\"\n", " secretKey = \"51XVL1YxDKI6mJh8au6DDuTskS1RhwJX\"\n", " cred = credential.Credential(secretId, secretKey) \n", " httpProfile = HttpProfile()\n", " httpProfile.reqMethod = \"POST\" # post请求(默认为post请求)\n", " httpProfile.reqTimeout = 30 # 请求超时时间,单位为秒(默认60秒)\n", " httpProfile.endpoint = \"sms.tencentcloudapi.com\" # 指定接入地域域名(默认就近接入)\n", " clientProfile = ClientProfile()\n", " clientProfile.signMethod = \"TC3-HMAC-SHA256\" # 指定签名算法\n", " clientProfile.language = \"en-US\"\n", " clientProfile.httpProfile = httpProfile\n", " client = sms_client.SmsClient(cred, \"ap-guangzhou\", clientProfile)\n", " req = models.SendSmsRequest()\n", " req.SmsSdkAppId = \"1400140089\"\n", " req.SignName = \"坤铭教育\"\n", " req.TemplateId = \"1808914\" \n", " req.TemplateParamSet = [yzm]\n", " req.PhoneNumberSet = [phone]\n", " req.SessionContext = \"\"\n", " req.ExtendCode = \"\"\n", " req.SenderId = \"\"\n", " #resp = client.SendSms(req)\n", " dict2 = json.loads(resp.to_json_string(indent=2))\n", "\n", " print(v['name'],dict2['SendStatusSet'][0][\"Message\"])\n", " except TencentCloudSDKException as err:\n", " print(v['name'],err)" ] }, { "cell_type": "markdown", "id": "59d38404-e097-4f08-a3fd-565e351f09bb", "metadata": {}, "source": [ "# 第二次体测" ] }, { "cell_type": "markdown", "id": "deeb7606-5752-4337-9117-4ba9edc762e9", "metadata": {}, "source": [ "## 人员信息导入" ] }, { "cell_type": "code", "execution_count": null, "id": "d803a2b2-4a61-42ba-84a3-e9846e3e9f5c", "metadata": {}, "outputs": [], "source": [ "import openpyxl\n", "import json\n", "\n", "\n", "wb = openpyxl.load_workbook('data/北京分行员工体质检测情况表.xlsx')\n", "sheet = wb.active\n", "# sheets = wb.sheetnames\n", "person = {}\n", "\n", "for n in range(2, sheet.max_row+1):\n", " if sheet.cell(n,1).value is not None:\n", " code = int(sheet.cell(n, 1).value)\n", " person.setdefault(code, {})\n", " dict1 = {}\n", " dict1['name'] = sheet.cell(n, 3).value\n", " if sheet.cell(n, 4).value ==1:\n", " sex = '男'\n", " else:\n", " sex = '女'\n", " dict1['sex'] = sex\n", " birth = str(sheet.cell(n, 5).value).split()[0]\n", " dict1['birth'] = birth\n", " dict1['unit'] = sheet.cell(n, 2).value\n", " if sheet.cell(n,6).value is not None:\n", " dict1['phone'] = sheet.cell(n, 6).value \n", " person[code] = dict1\n", "\n", "filename = 'data/北京农行人员名单2308.json'\n", "with open(filename, 'w') as fl:\n", " json.dump(person, fl, ensure_ascii=False)\n", "print('ok')" ] }, { "cell_type": "markdown", "id": "ff97823f-fd67-45ae-bd78-f209317be6b9", "metadata": {}, "source": [ "## 成绩导入" ] }, { "cell_type": "code", "execution_count": null, "id": "4adf86dd-addf-490a-9954-5dcac4693868", "metadata": {}, "outputs": [], "source": [ "import json\n", "import time\n", "import csv\n", "\n", "filename = '../item.json'\n", "item = {}\n", "unit = {}\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", "for k,v in dict1.items():\n", " item[k] = v\n", "re_ta = {}\n", "dict1 = {}\n", "list1 = []\n", "filename = 'data/北京农行人员名单2308.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", "\n", "filename = 'data/places_result_20230825.csv'\n", "with open(filename,'r',newline='') as csv_file:\n", " fl = csv.reader(csv_file,delimiter=',')\n", " header = next(fl) \n", " for line in fl:\n", " #line = re.sub('[\\r\\n\\f ]{1,}', '', line)\n", " list1.append(line)\n", "#print(list1)\n", "for result in list1:\n", " user = str(result[2])\n", " if user in dict1.keys(): \n", " m_item = str(result[3]) \n", " re_ta.setdefault(user,{}) \n", " re_ta[user]['name'] = dict1[user]['name']\n", " re_ta[user]['sex'] = dict1[user]['sex'] \n", " re_ta[user]['unit'] = dict1[user]['unit']\n", " item_name = item[m_item]['name']\n", " re_ta[user].setdefault(item_name,{}) \n", " score = int(result[4])/item[m_item]['divisor'] \n", " re_ta[user][item_name]['成绩'] = f'{score} {item[m_item][\"unit\"]}'\n", "print(len(re_ta))\n", "filename = 'data/result_北京农行0825.json'\n", "\n", "with open(filename,'w') as fl:\n", " json.dump(re_ta, fl, ensure_ascii=False) \n", "print(len(re_ta))" ] }, { "cell_type": "code", "execution_count": null, "id": "bb01b9a9-418d-4a1b-8ea9-1215af0b8285", "metadata": {}, "outputs": [], "source": [ "import json\n", "import time\n", "import csv\n", "\n", "filename = '../item.json'\n", "item = {}\n", "unit = {}\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", "for k,v in dict1.items():\n", " item[k] = v\n", "re_ta = {}\n", "dict1 = {}\n", "list1 = []\n", "filename = 'data/北京农行人员名单2308.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", "\n", "filename = 'data/places_result_20230825.csv'\n", "with open(filename,'r',newline='') as csv_file:\n", " fl = csv.reader(csv_file,delimiter=',')\n", " header = next(fl) \n", " for line in fl:\n", " #line = re.sub('[\\r\\n\\f ]{1,}', '', line)\n", " list1.append(line)\n", "#print(list1)\n", "for result in list1:\n", " user = str(result[2])\n", " if user in dict1.keys(): \n", " m_item = str(result[3]) \n", " re_ta.setdefault(user,{}) \n", " re_ta[user]['name'] = dict1[user]['name']\n", " re_ta[user]['sex'] = dict1[user]['sex'] \n", " re_ta[user]['unit'] = dict1[user]['unit']\n", " item_name = item[m_item]['name']\n", " re_ta[user].setdefault(item_name,{}) \n", " score = int(result[4])/item[m_item]['divisor'] \n", " re_ta[user][item_name]['成绩'] = f'{score} {item[m_item][\"unit\"]}'\n", "print(len(re_ta))\n", "filename = 'data/result_北京农行0825.json'\n", "\n", "with open(filename,'w') as fl:\n", " json.dump(re_ta, fl, ensure_ascii=False) \n", "print(len(re_ta))" ] }, { "cell_type": "markdown", "id": "4d2a0d63-4124-4063-96a7-a02478b9eabe", "metadata": {}, "source": [ "## 查看项目不足人员" ] }, { "cell_type": "code", "execution_count": null, "id": "b26857af-5fa3-42d0-bf79-bc33d9f5e4a8", "metadata": {}, "outputs": [], "source": [ "import json\n", "import time\n", "import csv\n", "\n", "filename = 'data/result_北京农行0825.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", "i= 0\n", "for k, v in dict1.items():\n", " if len(v.keys())< 8:\n", " print(k,v['name'])" ] }, { "cell_type": "markdown", "id": "1966307c-4161-4c5b-b19a-b8a143972223", "metadata": {}, "source": [ "## 导出测试人员信息" ] }, { "cell_type": "code", "execution_count": null, "id": "288e39fb-b7e3-4566-ac13-ba98d7e72edb", "metadata": {}, "outputs": [], "source": [ "import json\n", "import openpyxl\n", "\n", "\n", "filename = 'data/result_北京农行0825.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl)\n", "list1 =[]\n", "for k, v in dict1.items():\n", " list2 = []\n", " list2 = [k,v['name'],v['sex'],v['unit']]\n", " list1.append(list2)\n", "filename = 'data/北京农行测试人员202308.xlsx'\n", "wb = openpyxl.Workbook()\n", "sheet = wb.active\n", "\n", "for row in list1:\n", " sheet.append(row)\n", " \n", "wb.save(filename)" ] }, { "cell_type": "markdown", "id": "a42cb587-8673-4655-8943-3cbd63f22b73", "metadata": {}, "source": [ "## 检查性别" ] }, { "cell_type": "code", "execution_count": null, "id": "6352b95c-0e19-4943-9e99-218138213060", "metadata": {}, "outputs": [], "source": [ "import json\n", "\n", "\n", "filename = 'data/result_北京农行0825.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl)\n", "for k, v in dict1.items():\n", " if v['sex'] == '男' and '一分钟仰卧起坐' in v.keys():\n", " print(k,'应为女性!')\n", " if v['sex'] == '女' and '俯卧撑' in v.keys():\n", " print(k,'应为男性!')" ] }, { "cell_type": "markdown", "id": "fddd68cd-b20c-4cf9-b503-5d59f52e3c1b", "metadata": {}, "source": [ "## 手工数据生成SQL" ] }, { "cell_type": "code", "execution_count": null, "id": "372294de-5370-41c0-9883-b18de9d8ef7e", "metadata": { "tags": [] }, "outputs": [], "source": [ "import openpyxl\n", "import json\n", "\n", "\n", "wb = openpyxl.load_workbook('data/北京农行测试人员202308.xlsx')\n", "sheet = wb.active\n", "# sheets = wb.sheetnames\n", "dict1 = {}\n", "\n", "data1 =list(sheet.values)\n", "del data1[0]\n", "list1 = []\n", "for item in data1:\n", " code = int(item[0])\n", " list1.append((309118,code,5,item[4],'2023-08-23','2023-08-23 22:00:00'))\n", "print(list1)" ] }, { "cell_type": "markdown", "id": "c32bdb5c-d987-4b0f-98e3-9ce4e3ef3671", "metadata": {}, "source": [ "## 核对问卷人员信息" ] }, { "cell_type": "code", "execution_count": null, "id": "c1b187e0-f566-43fa-88d8-090deb9ead19", "metadata": { "tags": [] }, "outputs": [], "source": [ "import json\n", "import csv\n", "\n", "\n", "filename = 'data/北京农行人员名单2308.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", " \n", "filename = 'data/Survey_20230913.csv'\n", "with open(filename,'r',newline='') as csv_file:\n", " fl = csv.reader(csv_file,delimiter=',')\n", " header = next(fl) \n", " for line in fl:\n", " code = str(line[4])\n", " name = line[3]\n", " \n", " if code not in dict1.keys() or name!= dict1[code]['name']:\n", " print(code,name)\n", " \n", " " ] }, { "cell_type": "markdown", "id": "39cd284f-99fe-4ba0-928c-9da01042e394", "metadata": {}, "source": [ "## 合并人员信息" ] }, { "cell_type": "code", "execution_count": null, "id": "7ef51041-ad78-4c6a-af83-ed3e0473b199", "metadata": {}, "outputs": [], "source": [ "import json\n", "\n", "filename = 'data/北京农行人员名单2308.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", "\n", "filename = 'data/北京农行人员名单.json'\n", "with open(filename,'r') as fl:\n", " dict2 = json.load(fl) \n", "for k, v in dict2.items():\n", " dict1[k] = v\n", "filename = 'data/北京农行人员名单all.json'\n", "\n", "with open(filename,'w') as fl:\n", " json.dump(dict1, fl, ensure_ascii=False) \n", "print(len(re_ta))" ] }, { "cell_type": "markdown", "id": "3877fc60-171c-434a-aa27-8f1fe9936dd2", "metadata": {}, "source": [ "## 报告按部门分类" ] }, { "cell_type": "code", "execution_count": 29, "id": "80a85fcd-0597-4b58-898f-de420239919f", "metadata": { "execution": { "iopub.execute_input": "2023-09-22T14:57:53.531033Z", "iopub.status.busy": "2023-09-22T14:57:53.530490Z", "iopub.status.idle": "2023-09-22T14:57:53.701919Z", "shell.execute_reply": "2023-09-22T14:57:53.701448Z", "shell.execute_reply.started": "2023-09-22T14:57:53.530993Z" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "file/309118/石景山支行/0375-董哲.pdf\n", "file/309118/北京分行/0073-樊荣.pdf\n", "file/309118/西城支行/0145-董明.pdf\n", "file/309118/宣武支行/0355-张秋.pdf\n", "file/309118/北京分行/0002-李伟丽.pdf\n", "file/309118/分行机关/0632-向奕林.pdf\n", "file/309118/顺义支行/0491-李亚轩.pdf\n", "file/309118/海淀支行/0608-李泽良.pdf\n", "file/309118/崇文支行/0458-刘莹雪.pdf\n", "file/309118/丰台支行/0403-张立新.pdf\n", "file/309118/宣武支行/0346-张焱.pdf\n", "file/309118/北京分行/0070-马昊喜.pdf\n", "file/309118/海淀支行/0610-王晨晨.pdf\n", "file/309118/西城支行/0159-万江.pdf\n", "file/309118/东城支行/0393-张鹏.pdf\n", "file/309118/朝阳支行/0341-罗菁.pdf\n", "file/309118/北京分行/0048-柏晶.pdf\n", "file/309118/万寿路支行/0472-石剑.pdf\n", "file/309118/万寿路支行/0482-华元溪.pdf\n", "file/309118/西城支行/0149-陈艳.pdf\n", "file/309118/丰台支行/0398-戚君然.pdf\n", "file/309118/石景山支行/0371-赵瑞.pdf\n", "file/309118/海东支行/0509-黄晨慧.pdf\n", "file/309118/北京分行/0080-方了.pdf\n", "file/309118/西城支行/0152-董昳.pdf\n", "file/309118/北京分行/0033-张猛.pdf\n", "file/309118/延庆支行/0430-田萌.pdf\n", "file/309118/丰台支行/0417-高文学.pdf\n", "file/309118/北京分行/0035-李广花.pdf\n", "file/309118/副中心分行/0554-张金刚.pdf\n", "file/309118/亚运村支行/0275-韦昱安.pdf\n", "file/309118/海淀支行/0109-化天怡.pdf\n", "file/309118/分行机关/0631-陈苡征.pdf\n", "file/309118/朝阳东区支行/0568-王雯静.pdf\n", "file/309118/亚运村支行/0280-黄冲.pdf\n", "file/309118/延庆支行/0423-王立红.pdf\n", "file/309118/大兴支行/0538-崔颢.pdf\n", "file/309118/丰台支行/0419-王福东.pdf\n", "file/309118/北京分行/0053-张嘉怡.pdf\n", "file/309118/密云支行/0288-杜健.pdf\n", "file/309118/亚运村支行/0284-时然.pdf\n", "file/309118/石景山支行/0368-张欣.pdf\n", "file/309118/分行机关/0223-陈晓琦.pdf\n", "file/309118/东城支行/0392-栾涛.pdf\n", "file/309118/石景山支行/0362-陈莉萍.pdf\n", "file/309118/北京分行/0068-李梦昕.pdf\n", "file/309118/丰台支行/0411-肖祎.pdf\n", "file/309118/西城支行/0161-李金萍.pdf\n", "file/309118/海淀支行/0621-周美含.pdf\n", "file/309118/西城支行/0312-黎翔.pdf\n", "file/309118/密云支行/0292-潘春阳.pdf\n", "file/309118/自贸试验区分行/0211-马宏韬.pdf\n", "file/309118/海东支行/0522-何硕.pdf\n", "file/309118/大兴支行/0528-郭继超.pdf\n", "file/309118/顺义支行/0503-郑强.pdf\n", "file/309118/西城支行/0148-张瑞芝.pdf\n", "file/309118/房山支行/0586-陈傲然.pdf\n", "file/309118/北京分行/0091-王曦.pdf\n", "file/309118/海东支行/0511-马晨光.pdf\n", "file/309118/北京分行/0094-王媛.pdf\n", "file/309118/自贸试验区分行/0210-赵一.pdf\n", "file/309118/副中心分行/0553-韩玉娇.pdf\n", "file/309118/大兴支行/0527-刘丹.pdf\n", "file/309118/自贸试验区分行/0218-王吉.pdf\n", "file/309118/北京分行/0024-沈修旭.pdf\n", "file/309118/昌平支行/0242-赵文迪.pdf\n", "file/309118/崇文支行/0451-周金燕.pdf\n", "file/309118/万寿路支行/0470-姜轶.pdf\n", "file/309118/石景山支行/0373-张鹏.pdf\n", "file/309118/昌平支行/0252-徐一弘.pdf\n", "file/309118/怀柔支行/0446-李铁峥.pdf\n", "file/309118/大兴支行/0545-刘晓霞.pdf\n", "file/309118/延庆支行/0432-王峰.pdf\n", "file/309118/北京分行/0008-张泽宇昕.pdf\n", "file/309118/海东支行/0515-陈佳乐.pdf\n", "file/309118/丰台支行/0405-孙达.pdf\n", "file/309118/西城支行/0316-仇建培.pdf\n", "file/309118/西城支行/0130-王志佳.pdf\n", "file/309118/北京分行/0054-刘志健.pdf\n", "file/309118/房山支行/0590-薛新丽.pdf\n", "file/309118/崇文支行/0454-高雪.pdf\n", "file/309118/密云支行/0296-贾秀娟.pdf\n", "file/309118/延庆支行/0427-王顺平.pdf\n", "file/309118/丰台支行/0402-彭月.pdf\n", "file/309118/崇文支行/0450-彭晓冬.pdf\n", "file/309118/北京分行/0045-丁荣刚.pdf\n", "file/309118/东城支行/0386-周湘尧.pdf\n", "file/309118/分行机关/0229-张和平.pdf\n", "file/309118/朝阳东区支行/0584-杨晓光.pdf\n", "file/309118/自贸试验区分行/0216-张中琳.pdf\n", "file/309118/昌平支行/0241-杜伟.pdf\n", "file/309118/北京分行/0077-吴洁敏.pdf\n", "file/309118/万寿路支行/0479-李泽君.pdf\n", "file/309118/万寿路支行/0473-刘苡松.pdf\n", "file/309118/丰台支行/0399-侯启钧.pdf\n", "file/309118/自贸试验区分行/0212-李晨南.pdf\n", "file/309118/海淀支行/0609-郑婷婷.pdf\n", "file/309118/亚运村支行/0281-高博.pdf\n", "file/309118/海淀支行/0108-刘欣.pdf\n", "file/309118/海淀支行/0618-李硕.pdf\n", "file/309118/北京分行/0006-孙静丽.pdf\n", "file/309118/西城支行/0141-张娟.pdf\n", "file/309118/西城支行/0133-郭健.pdf\n", "file/309118/平谷支行/0269-王国强.pdf\n", "file/309118/北京分行/0078-牛晓彤.pdf\n", "file/309118/宣武支行/0351-林丽.pdf\n", "file/309118/副中心分行/0567-赵峥.pdf\n", "file/309118/分行营业部/0377-张旭.pdf\n", "file/309118/北京分行/0093-王轶楠.pdf\n", "file/309118/西城支行/0158-邓莉莉.pdf\n", "file/309118/顺义支行/0488-李静涵.pdf\n", "file/309118/东城支行/0390-杨泽钦.pdf\n", "file/309118/顺义支行/0499-孙宏宇.pdf\n", "file/309118/顺义支行/0487-董业凯.pdf\n", "file/309118/北京分行/0010-闫海霞.pdf\n", "file/309118/朝阳东区支行/0578-李安妮.pdf\n", "file/309118/崇文支行/0456-张颖儿.pdf\n", "file/309118/顺义支行/0505-朱辰浩.pdf\n", "file/309118/自贸试验区分行/0215-白盛锦.pdf\n", "file/309118/副中心分行/0565-丁健超.pdf\n", "file/309118/丰台支行/0407-于凯迪.pdf\n", "file/309118/顺义支行/0492-梁嘉彤.pdf\n", "file/309118/怀柔支行/0442-张春秀.pdf\n", "file/309118/万寿路支行/0485-薛蕊.pdf\n", "file/309118/平谷支行/0265-李阳.pdf\n", "file/309118/朝阳支行/0335-侯明辉.pdf\n", "file/309118/房山支行/0596-李希文.pdf\n", "file/309118/大兴支行/0546-刘燕.pdf\n", "file/309118/北京分行/0099-马雪超.pdf\n", "file/309118/北京分行/0030-张妍.pdf\n", "file/309118/自贸试验区分行/0217-吴晓宇.pdf\n", "file/309118/门头沟支行/0201-吴峥.pdf\n", "file/309118/崇文支行/0463-韩睿.pdf\n", "file/309118/副中心分行/0552-马丽明.pdf\n", "file/309118/房山支行/0593-高祎.pdf\n", "file/309118/西城支行/0131-康立.pdf\n", "file/309118/延庆支行/0436-聂艳青.pdf\n", "file/309118/海淀支行/0619-赵海君.pdf\n", "file/309118/西城支行/0132-王剑涛.pdf\n", "file/309118/西城支行/0309-段泽.pdf\n", "file/309118/海东支行/0512-陈曼.pdf\n", "file/309118/延庆支行/0428-纪艳超.pdf\n", "file/309118/崇文支行/0453-王思.pdf\n", "file/309118/崇文支行/0460-赵岳君.pdf\n", "file/309118/东城支行/0391-来有为.pdf\n", "file/309118/北京分行/0081-张巍.pdf\n", "file/309118/海淀支行/0116-杨威.pdf\n", "file/309118/亚运村支行/0277-刘菁.pdf\n", "file/309118/北京分行/0043-葛文宁.pdf\n", "file/309118/宣武支行/0353-马辉.pdf\n", "file/309118/朝阳东区支行/0573-刘倩.pdf\n", "file/309118/北京分行/0074-刘京晶.pdf\n", "file/309118/北京分行/0009-李焱.pdf\n", "file/309118/西城支行/0155-高海蓉.pdf\n", "file/309118/西城支行/0311-杨雪梅.pdf\n", "file/309118/海东支行/0514-杜欣然.pdf\n", "file/309118/万寿路支行/0481-张海天.pdf\n", "file/309118/西城支行/0139-李璐.pdf\n", "file/309118/副中心分行/0561-赵丽.pdf\n", "file/309118/东城支行/0380-胡佳新.pdf\n", "file/309118/海淀支行/0612-张菡.pdf\n", "file/309118/北京分行/0058-蔡旭.pdf\n", "file/309118/北京分行/0023-邢晓丽.pdf\n", "file/309118/朝阳东区支行/0571-徐扬.pdf\n", "file/309118/分行机关/0634-武玉琼.pdf\n", "file/309118/西城支行/0307-任春霞.pdf\n", "file/309118/顺义支行/0494-马振钧.pdf\n", "file/309118/丰台支行/0406-孙立业.pdf\n", "file/309118/分行机关/0219-聂安安.pdf\n", "file/309118/海淀支行/0115-郭茜.pdf\n", "file/309118/北京分行/0025-方雪静.pdf\n", "file/309118/大兴支行/0539-赵增福.pdf\n", "file/309118/北京分行/0004-张树伟.pdf\n", "file/309118/西城支行/0318-李国亮.pdf\n", "file/309118/副中心分行/0560-徐艳霞.pdf\n", "file/309118/顺义支行/0496-荣雨浓.pdf\n", "file/309118/延庆支行/0429-李冉.pdf\n", "file/309118/分行机关/0221-景东丽.pdf\n", "file/309118/东城支行/0388-李秋实.pdf\n", "file/309118/丰台支行/0420-董云桥.pdf\n", "file/309118/石景山支行/0367-李士杰.pdf\n", "file/309118/怀柔支行/0445-柳显鑫.pdf\n", "file/309118/北京分行/0051-修扬.pdf\n", "file/309118/密云支行/0297-王新昊.pdf\n", "file/309118/大兴支行/0534-马琳.pdf\n", "file/309118/海淀支行/0617-韩建英.pdf\n", "file/309118/北京分行/0090-焦健.pdf\n", "file/309118/海淀支行/0605-刘畅.pdf\n", "file/309118/房山支行/0597-王奇勋.pdf\n", "file/309118/北京分行/0096-梅亚彪.pdf\n", "file/309118/房山支行/0591-冯赢锐.pdf\n", "file/309118/门头沟支行/0204-季鑫.pdf\n", "file/309118/北京分行/0026-崔兆洋.pdf\n", "file/309118/房山支行/0603-李依潞.pdf\n", "file/309118/朝阳支行/0332-白禹.pdf\n", "file/309118/北京分行/0061-项怡.pdf\n", "file/309118/朝阳支行/0330-张静.pdf\n", "file/309118/海淀支行/0625-朱一康.pdf\n", "file/309118/延庆支行/0437-王皓洋.pdf\n", "file/309118/西城支行/0138-孟冰.pdf\n", "file/309118/西城支行/0140-赵瑜.pdf\n", "file/309118/朝阳东区支行/0569-马蔷.pdf\n", "file/309118/丰台支行/0415-李斌.pdf\n", "file/309118/平谷支行/0266-蔡颖楠.pdf\n", "file/309118/西城支行/0154-郭小纲.pdf\n", "file/309118/北京分行/0095-齐聪.pdf\n", "file/309118/北京分行/0066-王芳.pdf\n", "file/309118/北京分行/0102-王思璐.pdf\n", "file/309118/宣武支行/0347-王海波.pdf\n", "file/309118/万寿路支行/0468-董武.pdf\n", "file/309118/昌平支行/0243-宋源超.pdf\n", "file/309118/宣武支行/0345-倪一鸣.pdf\n", "file/309118/丰台支行/0414-于佩仟.pdf\n", "file/309118/北京分行/0001-亓宇航.pdf\n", "file/309118/海东支行/0517-田杰.pdf\n", "file/309118/万寿路支行/0477-郭亮.pdf\n", "file/309118/丰台支行/0413-孙占京.pdf\n", "file/309118/自贸试验区分行/0208-齐学健.pdf\n", "file/309118/海东支行/0508-张翀.pdf\n", "file/309118/房山支行/0602-魏小璐.pdf\n", "file/309118/西城支行/0144-李鸿雁.pdf\n", "file/309118/石景山支行/0365-金曦.pdf\n", "file/309118/朝阳支行/0343-刘恩伊.pdf\n", "file/309118/朝阳支行/0337-梁军.pdf\n", "file/309118/北京分行/0056-王洪梅.pdf\n", "file/309118/顺义支行/0500-王达.pdf\n", "file/309118/北京分行/0014-白静.pdf\n", "file/309118/北京分行/0007-王治梅.pdf\n", "file/309118/分行营业部/0378-程佳琪.pdf\n", "file/309118/延庆支行/0434-高玉红.pdf\n", "file/309118/崇文支行/0459-刘瑶.pdf\n", "file/309118/北京分行/0044-刘宪军.pdf\n", "file/309118/北京分行/0017-王强.pdf\n", "file/309118/北京分行/0071-宋颖.pdf\n", "file/309118/密云支行/0302-杨旭.pdf\n", "file/309118/门头沟支行/0205-周怡君.pdf\n", "file/309118/海淀支行/0615-韩旭怡.pdf\n", "file/309118/丰台支行/0410-边行行.pdf\n", "file/309118/延庆支行/0431-焦鸿.pdf\n", "file/309118/万寿路支行/0483-张垒.pdf\n", "file/309118/北京分行/0039-刘欣.pdf\n", "file/309118/房山支行/0585-高春阳.pdf\n", "file/309118/昌平支行/0254-李凯.pdf\n", "file/309118/顺义支行/0502-张博巍.pdf\n", "file/309118/北京分行/0022-刘典.pdf\n", "file/309118/北京分行/0072-郭若宇.pdf\n", "file/309118/密云支行/0304-赵璐斌.pdf\n", "file/309118/西城支行/0126-陈晓萍.pdf\n", "file/309118/北京分行/0088-赵博.pdf\n", "file/309118/西城支行/0150-吴金英.pdf\n", "file/309118/北京分行/0019-杨海月.pdf\n", "file/309118/北京分行/0003-高松.pdf\n", "file/309118/朝阳东区支行/0576-张永利.pdf\n", "file/309118/万寿路支行/0466-韩磊.pdf\n", "file/309118/丰台支行/0418-张路.pdf\n", "file/309118/大兴支行/0542-姚金峰.pdf\n", "file/309118/副中心分行/0549-曹杰.pdf\n", "file/309118/朝阳支行/0340-冯福春.pdf\n", "file/309118/北京分行/0065-张炯.pdf\n", "file/309118/副中心分行/0550-韩冬.pdf\n", "file/309118/分行机关/0228-胡巍.pdf\n", "file/309118/西城支行/0128-王珂.pdf\n", "file/309118/大兴支行/0529-常烁.pdf\n", "file/309118/北京分行/0063-孙萌.pdf\n", "file/309118/门头沟支行/0203-田晶.pdf\n", "file/309118/大兴支行/0537-李宝霞.pdf\n", "file/309118/房山支行/0592-郭彦刚.pdf\n", "file/309118/北京分行/0079-田文欣.pdf\n", "file/309118/朝阳东区支行/0570-尹潇潇.pdf\n", "file/309118/西城支行/0129-贾立文.pdf\n", "file/309118/万寿路支行/0476-袁莉.pdf\n", "file/309118/亚运村支行/0285-凌松.pdf\n", "file/309118/大兴支行/0536-马艳玲.pdf\n", "file/309118/海淀支行/0624-塔婉双.pdf\n", "file/309118/海淀支行/0112-张栩赫.pdf\n", "file/309118/顺义支行/0498-宋虎跃.pdf\n", "file/309118/西城支行/0142-于书冰.pdf\n", "file/309118/大兴支行/0535-王微.pdf\n", "file/309118/副中心分行/0559-王晗.pdf\n", "file/309118/北京分行/0082-徐浩.pdf\n", "file/309118/北京分行/0055-杨博.pdf\n", "file/309118/石景山支行/0376-付潇.pdf\n", "file/309118/西城支行/0310-鲍颖强.pdf\n", "file/309118/崇文支行/0464-隋星宇.pdf\n", "file/309118/副中心分行/0551-雒晨晖.pdf\n", "file/309118/门头沟支行/0202-董凯.pdf\n", "file/309118/分行机关/0225-苏青.pdf\n", "file/309118/怀柔支行/0438-贾文琪.pdf\n", "file/309118/怀柔支行/0444-胡克山.pdf\n", "file/309118/东城支行/0397-邓轩.pdf\n", "file/309118/东城支行/0389-肖丹.pdf\n", "file/309118/北京分行/0097-熊黎.pdf\n", "file/309118/北京分行/0062-郑拓.pdf\n", "file/309118/顺义支行/0497-施润言.pdf\n", "file/309118/万寿路支行/0474-王健.pdf\n", "file/309118/丰台支行/0416-刘斯琦.pdf\n", "file/309118/崇文支行/0465-陶韬.pdf\n", "file/309118/西城支行/0163-王艺林.pdf\n", "file/309118/顺义支行/0486-蔡洁.pdf\n", "file/309118/海淀支行/0107-王熙诚.pdf\n", "file/309118/海东支行/0525-王贺.pdf\n", "file/309118/亚运村支行/0273-朱江浩.pdf\n", "file/309118/顺义支行/0501-杨丽菲.pdf\n", "file/309118/分行机关/0635-李革.pdf\n", "file/309118/西城支行/0125-张德义.pdf\n", "file/309118/崇文支行/0452-付颖.pdf\n", "file/309118/东城支行/0387-李司锦.pdf\n", "file/309118/副中心分行/0562-塔欣.pdf\n", "file/309118/北京分行/0057-付孆云.pdf\n", "file/309118/朝阳东区支行/0577-郝光照.pdf\n", "file/309118/西城支行/0127-陈海娜.pdf\n", "file/309118/万寿路支行/0478-李璐.pdf\n", "file/309118/房山支行/0598-田润雨.pdf\n", "file/309118/北京分行/0018-董葳.pdf\n", "file/309118/平谷支行/0260-陈新洁.pdf\n", "file/309118/亚运村支行/0286-张伟超.pdf\n", "file/309118/亚运村支行/0279-赵嘉旭.pdf\n", "file/309118/朝阳东区支行/0574-弋荣静.pdf\n", "file/309118/顺义支行/0489-李冉.pdf\n", "file/309118/密云支行/0300-郭莉.pdf\n", "file/309118/朝阳东区支行/0572-冯媛媛.pdf\n", "file/309118/大兴支行/0531-赵迎春.pdf\n", "file/309118/北京分行/0012-郑玲.pdf\n", "file/309118/海淀支行/0607-高子尧.pdf\n", "file/309118/副中心分行/0548-王茜.pdf\n", "file/309118/宣武支行/0349-周翔宇.pdf\n", "file/309118/丰台支行/0412-赵维国.pdf\n", "file/309118/海淀支行/0122-张梦浓.pdf\n", "file/309118/延庆支行/0435-李凯东.pdf\n", "file/309118/东城支行/0382-王清.pdf\n", "file/309118/亚运村支行/0276-孙瑞莹.pdf\n", "file/309118/崇文支行/0462-郭晴.pdf\n", "file/309118/丰台支行/0404-马子暄.pdf\n", "file/309118/西城支行/0157-王红.pdf\n", "file/309118/西城支行/0153-刘鹏.pdf\n", "file/309118/朝阳东区支行/0575-李琳.pdf\n", "file/309118/宣武支行/0357-张迪.pdf\n", "file/309118/东城支行/0384-葛媛.pdf\n", "file/309118/朝阳支行/0338-黄海燕.pdf\n", "file/309118/西城支行/0134-杨晓兰.pdf\n", "file/309118/分行机关/0630-邢如风.pdf\n", "file/309118/宣武支行/0348-周明超.pdf\n", "file/309118/西城支行/0156-王国华.pdf\n", "file/309118/大兴支行/0540-陈晓璇.pdf\n", "file/309118/海淀支行/0633-贺淦炫.pdf\n", "file/309118/万寿路支行/0484-刘果.pdf\n", "file/309118/西城支行/0143-张梅.pdf\n", "file/309118/东城支行/0385-左梦媛.pdf\n", "file/309118/分行机关/0220-王翀.pdf\n", "file/309118/丰台支行/0401-王海燕.pdf\n", "file/309118/亚运村支行/0287-拓翔天.pdf\n", "file/309118/北京分行/0100-张文轩.pdf\n", "file/309118/北京分行/0086-井天鹤.pdf\n", "file/309118/东城支行/0395-张维佳.pdf\n", "file/309118/海淀支行/0606-赵龙.pdf\n", "file/309118/北京分行/0038-高悦.pdf\n", "file/309118/万寿路支行/0480-李亚辉.pdf\n", "file/309118/亚运村支行/0274-吴海燕.pdf\n", "file/309118/朝阳支行/0329-王玥.pdf\n", "file/309118/丰台支行/0408-刘好好.pdf\n", "file/309118/北京分行/0059-岑若民.pdf\n", "file/309118/朝阳东区支行/0581-王雅男.pdf\n", "file/309118/西城支行/0135-沈新.pdf\n", "file/309118/亚运村支行/0283-冯琳.pdf\n", "file/309118/东城支行/0383-杨朔闻.pdf\n", "file/309118/海淀支行/0121-程瑶.pdf\n", "file/309118/北京分行/0005-聂凌波.pdf\n", "file/309118/北京分行/0083-辛慧.pdf\n", "file/309118/崇文支行/0455-刘晓玲.pdf\n", "file/309118/北京分行/0069-张文绪.pdf\n", "file/309118/北京分行/0037-木子.pdf\n", "file/309118/亚运村支行/0282-李想.pdf\n", "file/309118/海东支行/0510-穆丹.pdf\n", "file/309118/北京分行/0049-李鹏.pdf\n", "file/309118/西城支行/0308-佟鑫.pdf\n", "file/309118/丰台支行/0409-李文博.pdf\n", "file/309118/石景山支行/0370-王靖.pdf\n", "file/309118/西城支行/0313-商珺澍.pdf\n", "file/309118/朝阳东区支行/0583-张雪梅.pdf\n", "file/309118/延庆支行/0426-王晨.pdf\n", "file/309118/北京分行/0036-张玉霞.pdf\n", "file/309118/万寿路支行/0467-周昊宇.pdf\n", "file/309118/西城支行/0320-崔劲颖.pdf\n", "file/309118/西城支行/0146-庞涛.pdf\n", "file/309118/北京分行/0040-方勇.pdf\n", "file/309118/海淀支行/0117-杨思维.pdf\n", "file/309118/崇文支行/0448-吉一阁.pdf\n", "file/309118/房山支行/0588-金翠娜.pdf\n", "file/309118/海淀支行/0604-崔承颖.pdf\n", "file/309118/房山支行/0599-苏嘉宁.pdf\n", "file/309118/怀柔支行/0447-刘会明.pdf\n", "file/309118/朝阳支行/0326-万菁菁.pdf\n", "file/309118/海淀支行/0613-李聆韬.pdf\n", "file/309118/西城支行/0147-邹骞.pdf\n", "file/309118/海淀支行/0611-王可心.pdf\n", "file/309118/北京分行/0101-孙辙.pdf\n", "file/309118/海东支行/0513-祁涛.pdf\n", "file/309118/海东支行/0507-葛畅.pdf\n", "file/309118/西城支行/0321-许归燕.pdf\n", "file/309118/密云支行/0290-郭振.pdf\n", "file/309118/怀柔支行/0441-朱晓霞.pdf\n", "file/309118/海东支行/0521-陈蒙蒙.pdf\n", "file/309118/分行机关/0629-赵龙.pdf\n", "file/309118/顺义支行/0504-周子月.pdf\n", "file/309118/海淀支行/0124-田华.pdf\n", "file/309118/自贸试验区分行/0207-佟佳莹.pdf\n", "file/309118/朝阳支行/0339-崔莎莎.pdf\n", "file/309118/北京分行/0013-马艳侠.pdf\n", "file/309118/宣武支行/0352-李博.pdf\n", "file/309118/开发区分行/0628-张钰璇.pdf\n", "file/309118/朝阳支行/0336-黄颖.pdf\n", "file/309118/丰台支行/0422-郭春阳.pdf\n", "file/309118/海淀支行/0616-王芳.pdf\n", "file/309118/东城支行/0396-李雪婷.pdf\n", "file/309118/北京分行/0020-戴知颖.pdf\n", "file/309118/房山支行/0601-张婧雯.pdf\n", "file/309118/石景山支行/0374-刘艺.pdf\n", "file/309118/西城支行/0160-赵越.pdf\n", "file/309118/宣武支行/0361-梁安萌.pdf\n", "file/309118/密云支行/0301-彭博洋.pdf\n", "file/309118/延庆支行/0425-刘静云.pdf\n", "file/309118/平谷支行/0262-路平.pdf\n", "file/309118/延庆支行/0424-张良娥.pdf\n", "file/309118/宣武支行/0360-高敏.pdf\n", "file/309118/大兴支行/0544-孔玉婷.pdf\n", "file/309118/大兴支行/0533-张淑仙.pdf\n", "file/309118/怀柔支行/0439-陈贺.pdf\n", "file/309118/海淀支行/0626-李刚.pdf\n", "file/309118/西城支行/0136-刘燕.pdf\n", "file/309118/昌平支行/0237-王玉娜.pdf\n", "file/309118/北京分行/0021-高冉.pdf\n", "file/309118/密云支行/0299-赵颖.pdf\n", "file/309118/朝阳支行/0328-郭海华.pdf\n", "file/309118/朝阳东区支行/0582-魏世豪.pdf\n", "file/309118/北京分行/0092-迟明旭.pdf\n", "file/309118/石景山支行/0369-李岩.pdf\n", "file/309118/平谷支行/0258-陈明.pdf\n", "file/309118/西城支行/0319-付鹏.pdf\n", "file/309118/朝阳支行/0327-刘诗晴.pdf\n", "file/309118/崇文支行/0449-杨光星月.pdf\n", "file/309118/西城支行/0322-石光.pdf\n", "file/309118/宣武支行/0350-薛媛媛.pdf\n", "file/309118/顺义支行/0493-雒婧涵.pdf\n", "file/309118/海东支行/0519-潘成舰.pdf\n", "file/309118/副中心分行/0558-曹爽.pdf\n", "file/309118/西城支行/0314-肖泽骏.pdf\n", "file/309118/海淀支行/0120-刘英.pdf\n", "file/309118/平谷支行/0259-毛伟峰.pdf\n", "file/309118/万寿路支行/0469-曾锦涛.pdf\n", "file/309118/朝阳支行/0344-陈瑞博.pdf\n", "file/309118/怀柔支行/0443-乔庆祥.pdf\n", "file/309118/大兴支行/0530-司仿.pdf\n", "file/309118/昌平支行/0250-陈锎.pdf\n", "file/309118/密云支行/0306-王浩然.pdf\n", "file/309118/北京分行/0015-张乾.pdf\n", "file/309118/亚运村支行/0278-王跃洲.pdf\n", "file/309118/房山支行/0600-周雪静.pdf\n", "file/309118/大兴支行/0543-李艳霞.pdf\n", "file/309118/万寿路支行/0471-李桐.pdf\n", "file/309118/亚运村支行/0272-孙金凤.pdf\n", "file/309118/怀柔支行/0440-高爽.pdf\n", "file/309118/海东支行/0516-曹一枫.pdf\n", "file/309118/房山支行/0587-薛伟楠.pdf\n", "file/309118/北京分行/0016-马丽坤.pdf\n", "file/309118/东城支行/0381-王茜雅.pdf\n", "file/309118/开发区分行/0627-王新远.pdf\n", "file/309118/丰台支行/0421-刘红梅.pdf\n", "file/309118/北京分行/0041-吕文燕.pdf\n", "file/309118/大兴支行/0547-张丽琴.pdf\n", "file/309118/顺义支行/0490-李馨格.pdf\n", "file/309118/北京分行/0067-王欣.pdf\n", "file/309118/北京分行/0076-李慧.pdf\n", "file/309118/延庆支行/0433-刘向飞.pdf\n", "file/309118/海东支行/0524-张洪镭.pdf\n", "file/309118/自贸试验区分行/0214-杨笑.pdf\n", "file/309118/海淀支行/0110-王谦.pdf\n", "file/309118/石景山支行/0372-刘禹良.pdf\n", "file/309118/副中心分行/0557-曹雅明.pdf\n", "file/309118/密云支行/0294-任昂.pdf\n", "file/309118/石景山支行/0363-田超.pdf\n", "file/309118/海东支行/0523-夏贝博.pdf\n", "file/309118/北京分行/0046-唐华.pdf\n", "file/309118/平谷支行/0267-王英.pdf\n", "file/309118/朝阳东区支行/0579-吴弘.pdf\n", "file/309118/万寿路支行/0475-王潇堂.pdf\n", "file/309118/海淀支行/0623-范子璇.pdf\n", "file/309118/北京分行/0089-李茜.pdf\n", "file/309118/自贸试验区分行/0213-宁心源.pdf\n", "file/309118/西城支行/0315-高浩涵.pdf\n", "file/309118/丰台支行/0400-董肖.pdf\n", "file/309118/海东支行/0506-杜愚.pdf\n" ] } ], "source": [ "import os,sys,shutil\n", "import json\n", "import glob\n", "from pathlib import Path\n", "\n", "fi_path = '/home/songyi/python/mycrm/flask/pdf/files/309118'\n", "new_path = 'file/309118'\n", "old = []\n", "dict2 = {}\n", "\n", "filename = 'data/北京农行人员名单all.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl)\n", "fls = glob.glob(f'{fi_path}/*.pdf')\n", "for fn in fls:\n", " fi_name =Path(fn).stem.split('-')[0]\n", " code = int(fi_name)\n", " unit_path = Path(new_path,dict1[str(code)]['unit'])\n", " unit_path.mkdir(parents = True, exist_ok = True)\n", " n_name = Path(unit_path,Path(fn).stem+'.pdf')\n", " if not os.path.exists(n_name):\n", " shutil.copyfile(fn,n_name)\n", " print(n_name)" ] }, { "cell_type": "markdown", "id": "3022dcdd-8700-468f-86ab-6ce43b118e1c", "metadata": {}, "source": [ "## 生成体测报告打印明细表" ] }, { "cell_type": "code", "execution_count": 17, "id": "24433f75-6397-4b12-870e-611b77db8ded", "metadata": { "execution": { "iopub.execute_input": "2023-09-19T04:31:27.480917Z", "iopub.status.busy": "2023-09-19T04:31:27.480455Z", "iopub.status.idle": "2023-09-19T04:31:27.564161Z", "shell.execute_reply": "2023-09-19T04:31:27.563713Z", "shell.execute_reply.started": "2023-09-19T04:31:27.480880Z" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "ok\n" ] } ], "source": [ "import os,sys,shutil\n", "import json\n", "import glob\n", "from pathlib import Path\n", "import openpyxl\n", "\n", "fi_path = '/home/songyi/python/mycrm/flask/pdf/files/309118'\n", "new_path = 'file/309118'\n", "list1 = []\n", "filename = 'data/北京农行人员名单all.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl)\n", "fls = glob.glob(f'{fi_path}/*.pdf')\n", "for fn in fls:\n", " list2 = []\n", " fi_name =Path(fn).stem.split('-')[0] \n", " code = int(fi_name)\n", " unit = dict1[str(code)]['unit']\n", " list2 = [fi_name,Path(fn).stem.split('-')[1],unit]\n", " list1.append(list2)\n", "filename = 'data/北京农行体测报告打印明细表.xlsx'\n", "wb = openpyxl.Workbook()\n", "sheet = wb.active\n", "sheet.append(title)\n", "for row in list1:\n", " sheet.append(row)\n", " \n", "wb.save(filename) \n", "print('ok')" ] }, { "cell_type": "code", "execution_count": null, "id": "e3744d35-930d-4f18-9b11-cb8b09882461", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 5 }