From ecbd0aba0acb8525b439dc8888d9980f711f0680 Mon Sep 17 00:00:00 2001 From: 512song Date: Thu, 9 Nov 2023 00:18:14 +0800 Subject: [PATCH] 20231109 --- 体测单位/北海炼化.ipynb | 73 ++++- 体测单位/天津石化.ipynb | 582 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 641 insertions(+), 14 deletions(-) diff --git a/体测单位/北海炼化.ipynb b/体测单位/北海炼化.ipynb index 97eedc4..74a172f 100644 --- a/体测单位/北海炼化.ipynb +++ b/体测单位/北海炼化.ipynb @@ -661,7 +661,6 @@ "cell_type": "markdown", "id": "1e3f67e9-e332-41c5-89f8-b64ec0bace4c", "metadata": { - "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ @@ -1221,15 +1220,15 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 11, "id": "1aa45b35-7376-4c50-8275-79b090a6c758", "metadata": { "execution": { - "iopub.execute_input": "2023-11-08T01:55:24.418823Z", - "iopub.status.busy": "2023-11-08T01:55:24.418534Z", - "iopub.status.idle": "2023-11-08T01:55:24.459533Z", - "shell.execute_reply": "2023-11-08T01:55:24.458755Z", - "shell.execute_reply.started": "2023-11-08T01:55:24.418802Z" + "iopub.execute_input": "2023-11-08T13:04:51.428359Z", + "iopub.status.busy": "2023-11-08T13:04:51.427883Z", + "iopub.status.idle": "2023-11-08T13:04:51.489149Z", + "shell.execute_reply": "2023-11-08T13:04:51.488092Z", + "shell.execute_reply.started": "2023-11-08T13:04:51.428321Z" }, "tags": [] }, @@ -1238,8 +1237,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "217\n", - "217\n" + "347\n", + "347\n" ] } ], @@ -1291,10 +1290,64 @@ "print(len(re_ta))" ] }, + { + "cell_type": "markdown", + "id": "429ed5f7-57cb-4fcd-a267-2d222e08d81c", + "metadata": {}, + "source": [ + "## 统计所有部门未体测人员明细表" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "1172a79c-ec8f-4274-8c43-6ec11d95f8ca", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-08T13:12:25.253656Z", + "iopub.status.busy": "2023-11-08T13:12:25.253181Z", + "iopub.status.idle": "2023-11-08T13:12:25.338731Z", + "shell.execute_reply": "2023-11-08T13:12:25.338208Z", + "shell.execute_reply.started": "2023-11-08T13:12:25.253599Z" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import json\n", + "import openpyxl\n", + "\n", + "filename = 'data/result_北海炼化2023.json'\n", + "with open(filename,'r') as fl:\n", + " dict1 = json.load(fl)\n", + "\n", + "filename = 'data/北海炼化2023年.json'\n", + "with open(filename,'r') as fl:\n", + " dict2 = json.load(fl)\n", + "\n", + "list1 = []\n", + "\n", + "i = 1\n", + "for k, v in dict2.items():\n", + " \n", + " if k not in dict1.keys():\n", + " list2 = [i,k,v['name'],v['unit']]\n", + " i+=1\n", + " list1.append(list2)\n", + "filename = f'data/北海炼化未测试人员名单.xlsx'\n", + "title = ['序号','员工编号','姓名','部门']\n", + "wb = openpyxl.Workbook()\n", + "sheet = wb.active\n", + "sheet.append(title)\n", + "for row in list1:\n", + " sheet.append(row) \n", + "wb.save(filename)" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "56ad2623-c435-4161-a55e-18899c6134ea", + "id": "7111dc19-387c-4e4d-bfed-0273cf0809fb", "metadata": {}, "outputs": [], "source": [] diff --git a/体测单位/天津石化.ipynb b/体测单位/天津石化.ipynb index 769264d..a0fef69 100644 --- a/体测单位/天津石化.ipynb +++ b/体测单位/天津石化.ipynb @@ -2568,12 +2568,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 210, "id": "006afc6c-2b1f-4edf-be1b-5f60e2029ee8", "metadata": { + "execution": { + "iopub.execute_input": "2023-11-08T09:26:45.377399Z", + "iopub.status.busy": "2023-11-08T09:26:45.376933Z", + "iopub.status.idle": "2023-11-08T09:26:45.467443Z", + "shell.execute_reply": "2023-11-08T09:26:45.467001Z", + "shell.execute_reply.started": "2023-11-08T09:26:45.377362Z" + }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0~255分人数:2524人,男性:2056人,女性:468人\n", + "256~332分人数:2214人,男性:1400人,女性:814人\n", + "333~367分人数:495人,男性:274人,女性:221人\n", + "368~500分人数:150人,男性:58人,女性:92人\n", + "5383\n" + ] + } + ], "source": [ "import json\n", "\n", @@ -2820,13 +2839,568 @@ "id": "92103efb-a3e4-43ec-acfb-e4cb0b07c2fb", "metadata": {}, "source": [ - "## 计算各年龄段测试等级(女)" + "### 计算各年龄段测试等级(女)" + ] + }, + { + "cell_type": "code", + "execution_count": 216, + "id": "f8949993-7501-4359-aa7c-2cd5de348056", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-08T12:59:02.064806Z", + "iopub.status.busy": "2023-11-08T12:59:02.064358Z", + "iopub.status.idle": "2023-11-08T12:59:02.302186Z", + "shell.execute_reply": "2023-11-08T12:59:02.301753Z", + "shell.execute_reply.started": "2023-11-08T12:59:02.064771Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0~255分人数:2524人,男性:468人,女性:2056人\n", + "256~332分人数:2214人,男性:814人,女性:1400人\n", + "333~367分人数:495人,男性:221人,女性:274人\n", + "368~500分人数:150人,男性:92人,女性:58人\n", + "ok\n" + ] + } + ], + "source": [ + "import json\n", + "\n", + "\n", + "with open(filename,'r') as fl:\n", + " dict1 = json.load(fl) \n", + "dict2 = {}\n", + "dict2['不合格'] = [0,255]\n", + "dict2['合格'] = [256,332]\n", + "dict2['良好'] = [333,367]\n", + "dict2['优秀'] = [368,500]\n", + "\n", + "for k1, v1 in dict2.items():\n", + " di = v1[0]\n", + " gao = v1[1]\n", + " i = 0 \n", + " m = 0\n", + " f = 0\n", + " for k,v in dict1.items():\n", + " if int(v['score']*100) in range(di,gao+1):\n", + " dict1[k]['level'] = k1\n", + " i+=1\n", + " if v['sex'] == '女':\n", + " m = m +1\n", + " else:\n", + " f = f+1\n", + " print(f'{di}~{gao}分人数:{i}人,男性:{m}人,女性:{f}人')\n", + "#filename = 'data/result_石家庄.json'\n", + "with open(filename,'w') as fl:\n", + " json.dump(dict1, fl) \n", + "print('ok')" + ] + }, + { + "cell_type": "markdown", + "id": "5a130857-4dd1-4b5e-b21b-42fe32b367cf", + "metadata": {}, + "source": [ + "## 按部门统计" + ] + }, + { + "cell_type": "markdown", + "id": "cb1e13ae-3eba-4f6e-b70a-2bf87168ef1a", + "metadata": {}, + "source": [ + "### 计算部门完成情况" + ] + }, + { + "cell_type": "code", + "execution_count": 225, + "id": "5e7c1c49-75bf-4238-9bd7-b8511687f639", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-08T14:05:30.666811Z", + "iopub.status.busy": "2023-11-08T14:05:30.666354Z", + "iopub.status.idle": "2023-11-08T14:05:30.762473Z", + "shell.execute_reply": "2023-11-08T14:05:30.762012Z", + "shell.execute_reply.started": "2023-11-08T14:05:30.666775Z" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'消防支队': {'应测': 93, '已测': 72}, '电仪部': {'应测': 352, '已测': 322}, '水务部': {'应测': 441, '已测': 396}, '烯烃部': {'应测': 359, '已测': 320}, '热电部': {'应测': 500, '已测': 412}, '炼油部': {'应测': 1276, '已测': 1191}, '化工部': {'应测': 609, '已测': 522}, '运输销售部': {'应测': 225, '已测': 199}, '化验计量部': {'应测': 549, '已测': 469}, '南港烯烃部': {'应测': 779, '已测': 681}, '公司机关': {'应测': 409, '已测': 112}, '信息档案管理中心': {'应测': 77, '已测': 60}, '装备研究院': {'应测': 57, '已测': 48}, '原油储运部': {'应测': 203, '已测': 178}, '党委党校(培训中心)': {'应测': 81, '已测': 48}, '研究院': {'应测': 110, '已测': 101}, '南港乙烯项目管理部': {'应测': 71, '已测': 15}, '行政事务中心': {'应测': 134, '已测': 41}, '聚醚部': {'应测': 153, '已测': 112}, '物资采购中心': {'应测': 198, '已测': 84}}\n", + "消防支队 93 72\n", + "电仪部 352 322\n", + "水务部 441 396\n", + "烯烃部 359 320\n", + "热电部 500 412\n", + "炼油部 1276 1191\n", + "化工部 609 522\n", + "运输销售部 225 199\n", + "化验计量部 549 469\n", + "南港烯烃部 779 681\n", + "公司机关 409 112\n", + "信息档案管理中心 77 60\n", + "装备研究院 57 48\n", + "原油储运部 203 178\n", + "党委党校(培训中心) 81 48\n", + "研究院 110 101\n", + "南港乙烯项目管理部 71 15\n", + "行政事务中心 134 41\n", + "聚醚部 153 112\n", + "物资采购中心 198 84\n" + ] + } + ], + "source": [ + "import json\n", + "\n", + "\n", + "filename = 'data/data_天津231017.json'\n", + "with open(filename,'r') as fl:\n", + " dict1 = json.load(fl)\n", + "\n", + "filename = 'data/天津石化人员名单2023.json'\n", + "with open(filename,'r') as fl:\n", + " dict2 = json.load(fl)\n", + "dict3 = {}\n", + "\n", + "for k, v in dict2.items():\n", + " unit = v['unit']\n", + " dict3.setdefault(unit,{})\n", + " dict3[unit].setdefault('应测',0)\n", + " dict3[unit].setdefault('已测',0)\n", + " dict3[unit]['应测']+=1\n", + "for k, v in dict1.items():\n", + " unit = v['unit']\n", + " \n", + " dict3[unit]['已测']+=1\n", + " \n", + "print(dict3)\n", + "for k ,v in dict3.items():\n", + " print(k,v['应测'],v['已测'])\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "e83941b9-b2b5-41db-b08a-a619f07c2487", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-08T13:52:50.838712Z", + "iopub.status.busy": "2023-11-08T13:52:50.838249Z", + "iopub.status.idle": "2023-11-08T13:52:50.844168Z", + "shell.execute_reply": "2023-11-08T13:52:50.843014Z", + "shell.execute_reply.started": "2023-11-08T13:52:50.838676Z" + }, + "tags": [] + }, + "source": [ + "### 计算部门合格率" + ] + }, + { + "cell_type": "code", + "execution_count": 226, + "id": "d023724c-46b7-4b4e-bbcc-8b4f171590c5", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-08T14:05:37.421932Z", + "iopub.status.busy": "2023-11-08T14:05:37.421639Z", + "iopub.status.idle": "2023-11-08T14:05:37.428753Z", + "shell.execute_reply": "2023-11-08T14:05:37.428329Z", + "shell.execute_reply.started": "2023-11-08T14:05:37.421910Z" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'消防支队': {'应测': 93, '已测': 72, '合格': 35, '不合格': 33, '良好': 3, '优秀': 1}, '电仪部': {'应测': 352, '已测': 322, '不合格': 182, '良好': 18, '合格': 118, '优秀': 4}, '水务部': {'应测': 441, '已测': 396, '不合格': 202, '合格': 150, '良好': 37, '优秀': 7}, '烯烃部': {'应测': 359, '已测': 320, '不合格': 143, '合格': 124, '良好': 37, '优秀': 16}, '热电部': {'应测': 500, '已测': 412, '不合格': 185, '良好': 51, '合格': 157, '优秀': 19}, '炼油部': {'应测': 1276, '已测': 1191, '合格': 514, '不合格': 518, '良好': 126, '优秀': 33}, '化工部': {'应测': 609, '已测': 522, '不合格': 243, '良好': 54, '合格': 206, '优秀': 19}, '运输销售部': {'应测': 225, '已测': 199, '合格': 63, '不合格': 120, '良好': 11, '优秀': 5}, '化验计量部': {'应测': 549, '已测': 469, '合格': 195, '良好': 39, '不合格': 226, '优秀': 9}, '南港烯烃部': {'应测': 779, '已测': 681, '不合格': 345, '良好': 28, '合格': 304, '优秀': 4}, '公司机关': {'应测': 409, '已测': 112, '合格': 44, '不合格': 47, '优秀': 3, '良好': 18}, '信息档案管理中心': {'应测': 77, '已测': 60, '不合格': 16, '合格': 32, '优秀': 2, '良好': 10}, '装备研究院': {'应测': 57, '已测': 48, '不合格': 20, '合格': 20, '良好': 6, '优秀': 2}, '原油储运部': {'应测': 203, '已测': 178, '不合格': 86, '良好': 10, '合格': 79, '优秀': 3}, '党委党校(培训中心)': {'应测': 81, '已测': 48, '不合格': 16, '良好': 11, '合格': 19, '优秀': 2}, '研究院': {'应测': 110, '已测': 101, '优秀': 7, '不合格': 35, '合格': 45, '良好': 14}, '南港乙烯项目管理部': {'应测': 71, '已测': 15, '不合格': 6, '合格': 8, '良好': 1}, '行政事务中心': {'应测': 134, '已测': 41, '不合格': 20, '良好': 5, '合格': 15, '优秀': 1}, '聚醚部': {'应测': 153, '已测': 112, '不合格': 48, '合格': 47, '良好': 10, '优秀': 7}, '物资采购中心': {'应测': 198, '已测': 84, '不合格': 33, '合格': 39, '优秀': 6, '良好': 6}}\n", + "消防支队 72 33\n", + "电仪部 322 182\n", + "水务部 396 202\n", + "烯烃部 320 143\n", + "热电部 412 185\n", + "炼油部 1191 518\n", + "化工部 522 243\n", + "运输销售部 199 120\n", + "化验计量部 469 226\n", + "南港烯烃部 681 345\n", + "公司机关 112 47\n", + "信息档案管理中心 60 16\n", + "装备研究院 48 20\n", + "原油储运部 178 86\n", + "党委党校(培训中心) 48 16\n", + "研究院 101 35\n", + "南港乙烯项目管理部 15 6\n", + "行政事务中心 41 20\n", + "聚醚部 112 48\n", + "物资采购中心 84 33\n" + ] + } + ], + "source": [ + "for k, v in dict1.items():\n", + " unit = v['unit']\n", + " dict3[unit].setdefault(v['level'],0)\n", + " dict3[unit][v['level']]+=1\n", + "print(dict3)\n", + "for k ,v in dict3.items():\n", + " print(k,v['已测'],v['不合格'])" + ] + }, + { + "cell_type": "markdown", + "id": "4b996a8a-70e7-4c95-8b14-0f8fa89df7a4", + "metadata": {}, + "source": [ + "### 计算部门成绩" + ] + }, + { + "cell_type": "code", + "execution_count": 228, + "id": "1d93d58e-115a-44a4-988f-fa5353c5fd0e", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-08T14:26:34.150100Z", + "iopub.status.busy": "2023-11-08T14:26:34.149698Z", + "iopub.status.idle": "2023-11-08T14:26:34.216125Z", + "shell.execute_reply": "2023-11-08T14:26:34.215668Z", + "shell.execute_reply.started": "2023-11-08T14:26:34.150070Z" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'化验计量部': {'BMI': {'score': 1724, 'count': 464}, '肺活量': {'score': 1482, 'count': 447}, '握力': {'score': 546, 'count': 445}, '坐位体前屈': {'score': 969, 'count': 373}, '纵跳': {'score': 659, 'count': 375}, '俯卧撑': {'score': 408, 'count': 165}, '一分钟仰卧起坐': {'score': 486, 'count': 131}, '单脚站立': {'score': 896, 'count': 443}, '选择反应时': {'score': 1266, 'count': 447}, '台阶指数': {'score': 366, 'count': 143}}, '南港烯烃部': {'BMI': {'score': 2220, 'count': 680}, '肺活量': {'score': 2389, 'count': 674}, '握力': {'score': 753, 'count': 664}, '坐位体前屈': {'score': 1747, 'count': 631}, '纵跳': {'score': 1324, 'count': 630}, '俯卧撑': {'score': 1140, 'count': 444}, '一分钟仰卧起坐': {'score': 548, 'count': 144}, '单脚站立': {'score': 1189, 'count': 665}, '选择反应时': {'score': 1770, 'count': 678}, '台阶指数': {'score': 802, 'count': 381}}, '消防支队': {'BMI': {'score': 258, 'count': 72}, '肺活量': {'score': 228, 'count': 72}, '握力': {'score': 92, 'count': 71}, '坐位体前屈': {'score': 169, 'count': 60}, '纵跳': {'score': 86, 'count': 62}, '俯卧撑': {'score': 154, 'count': 51}, '一分钟仰卧起坐': {'score': 22, 'count': 7}, '单脚站立': {'score': 129, 'count': 67}, '选择反应时': {'score': 213, 'count': 70}, '台阶指数': {'score': 69, 'count': 26}}, '炼油部': {'BMI': {'score': 4052, 'count': 1178}, '肺活量': {'score': 3865, 'count': 1181}, '握力': {'score': 2106, 'count': 1184}, '坐位体前屈': {'score': 3324, 'count': 1075}, '纵跳': {'score': 2208, 'count': 1044}, '俯卧撑': {'score': 1730, 'count': 761}, '一分钟仰卧起坐': {'score': 778, 'count': 210}, '单脚站立': {'score': 2154, 'count': 1155}, '选择反应时': {'score': 3554, 'count': 1175}, '台阶指数': {'score': 1441, 'count': 542}}, '化工部': {'BMI': {'score': 1824, 'count': 516}, '肺活量': {'score': 1578, 'count': 508}, '握力': {'score': 630, 'count': 517}, '坐位体前屈': {'score': 1323, 'count': 431}, '纵跳': {'score': 822, 'count': 430}, '俯卧撑': {'score': 699, 'count': 295}, '一分钟仰卧起坐': {'score': 367, 'count': 94}, '单脚站立': {'score': 1030, 'count': 499}, '选择反应时': {'score': 1535, 'count': 512}, '台阶指数': {'score': 508, 'count': 175}}, '电仪部': {'BMI': {'score': 1088, 'count': 322}, '肺活量': {'score': 1054, 'count': 317}, '握力': {'score': 394, 'count': 319}, '坐位体前屈': {'score': 734, 'count': 284}, '纵跳': {'score': 500, 'count': 299}, '俯卧撑': {'score': 561, 'count': 223}, '一分钟仰卧起坐': {'score': 183, 'count': 50}, '单脚站立': {'score': 575, 'count': 319}, '选择反应时': {'score': 827, 'count': 318}, '台阶指数': {'score': 452, 'count': 178}}, '物资采购中心': {'BMI': {'score': 289, 'count': 83}, '肺活量': {'score': 280, 'count': 83}, '握力': {'score': 93, 'count': 82}, '坐位体前屈': {'score': 207, 'count': 69}, '纵跳': {'score': 143, 'count': 79}, '俯卧撑': {'score': 96, 'count': 36}, '一分钟仰卧起坐': {'score': 108, 'count': 26}, '单脚站立': {'score': 184, 'count': 77}, '选择反应时': {'score': 260, 'count': 81}, '台阶指数': {'score': 76, 'count': 27}}, '水务部': {'BMI': {'score': 1381, 'count': 395}, '肺活量': {'score': 1242, 'count': 386}, '握力': {'score': 488, 'count': 394}, '坐位体前屈': {'score': 876, 'count': 313}, '纵跳': {'score': 556, 'count': 315}, '俯卧撑': {'score': 522, 'count': 199}, '一分钟仰卧起坐': {'score': 257, 'count': 65}, '单脚站立': {'score': 788, 'count': 382}, '选择反应时': {'score': 1182, 'count': 391}, '台阶指数': {'score': 305, 'count': 116}}, '运输销售部': {'BMI': {'score': 723, 'count': 197}, '肺活量': {'score': 570, 'count': 186}, '握力': {'score': 249, 'count': 192}, '坐位体前屈': {'score': 401, 'count': 138}, '纵跳': {'score': 236, 'count': 158}, '俯卧撑': {'score': 263, 'count': 123}, '一分钟仰卧起坐': {'score': 97, 'count': 23}, '单脚站立': {'score': 328, 'count': 183}, '选择反应时': {'score': 584, 'count': 195}, '台阶指数': {'score': 68, 'count': 24}}, '原油储运部': {'BMI': {'score': 600, 'count': 176}, '肺活量': {'score': 574, 'count': 175}, '握力': {'score': 215, 'count': 176}, '坐位体前屈': {'score': 378, 'count': 146}, '纵跳': {'score': 291, 'count': 154}, '俯卧撑': {'score': 268, 'count': 105}, '一分钟仰卧起坐': {'score': 133, 'count': 37}, '单脚站立': {'score': 355, 'count': 174}, '选择反应时': {'score': 503, 'count': 177}, '台阶指数': {'score': 193, 'count': 79}}, '聚醚部': {'BMI': {'score': 407, 'count': 109}, '肺活量': {'score': 378, 'count': 107}, '握力': {'score': 149, 'count': 109}, '坐位体前屈': {'score': 280, 'count': 100}, '纵跳': {'score': 176, 'count': 100}, '俯卧撑': {'score': 136, 'count': 56}, '一分钟仰卧起坐': {'score': 114, 'count': 27}, '单脚站立': {'score': 209, 'count': 108}, '选择反应时': {'score': 345, 'count': 110}, '台阶指数': {'score': 105, 'count': 36}}, '公司机关': {'BMI': {'score': 416, 'count': 112}, '肺活量': {'score': 381, 'count': 112}, '握力': {'score': 125, 'count': 108}, '坐位体前屈': {'score': 272, 'count': 101}, '纵跳': {'score': 220, 'count': 100}, '俯卧撑': {'score': 160, 'count': 53}, '一分钟仰卧起坐': {'score': 120, 'count': 30}, '单脚站立': {'score': 225, 'count': 106}, '选择反应时': {'score': 310, 'count': 110}, '台阶指数': {'score': 135, 'count': 51}}, '南港乙烯项目管理部': {'BMI': {'score': 65, 'count': 15}, '肺活量': {'score': 58, 'count': 15}, '握力': {'score': 13, 'count': 13}, '坐位体前屈': {'score': 34, 'count': 13}, '纵跳': {'score': 27, 'count': 15}, '俯卧撑': {'score': 39, 'count': 13}, '一分钟仰卧起坐': {'score': 0, 'count': 0}, '单脚站立': {'score': 20, 'count': 15}, '选择反应时': {'score': 40, 'count': 15}, '台阶指数': {'score': 29, 'count': 10}}, '党委党校(培训中心)': {'BMI': {'score': 192, 'count': 48}, '肺活量': {'score': 161, 'count': 44}, '握力': {'score': 43, 'count': 43}, '坐位体前屈': {'score': 119, 'count': 40}, '纵跳': {'score': 80, 'count': 44}, '俯卧撑': {'score': 44, 'count': 18}, '一分钟仰卧起坐': {'score': 59, 'count': 15}, '单脚站立': {'score': 101, 'count': 42}, '选择反应时': {'score': 159, 'count': 48}, '台阶指数': {'score': 53, 'count': 18}}, '装备研究院': {'BMI': {'score': 202, 'count': 48}, '肺活量': {'score': 175, 'count': 48}, '握力': {'score': 57, 'count': 48}, '坐位体前屈': {'score': 122, 'count': 46}, '纵跳': {'score': 93, 'count': 45}, '俯卧撑': {'score': 57, 'count': 25}, '一分钟仰卧起坐': {'score': 45, 'count': 10}, '单脚站立': {'score': 99, 'count': 47}, '选择反应时': {'score': 145, 'count': 48}, '台阶指数': {'score': 33, 'count': 13}}, '热电部': {'BMI': {'score': 1457, 'count': 411}, '肺活量': {'score': 1332, 'count': 404}, '握力': {'score': 593, 'count': 407}, '坐位体前屈': {'score': 932, 'count': 333}, '纵跳': {'score': 693, 'count': 335}, '俯卧撑': {'score': 689, 'count': 255}, '一分钟仰卧起坐': {'score': 164, 'count': 42}, '单脚站立': {'score': 781, 'count': 390}, '选择反应时': {'score': 1231, 'count': 407}, '台阶指数': {'score': 386, 'count': 135}}, '烯烃部': {'BMI': {'score': 1173, 'count': 317}, '肺活量': {'score': 993, 'count': 318}, '握力': {'score': 426, 'count': 318}, '坐位体前屈': {'score': 779, 'count': 256}, '纵跳': {'score': 509, 'count': 266}, '俯卧撑': {'score': 409, 'count': 165}, '一分钟仰卧起坐': {'score': 257, 'count': 65}, '单脚站立': {'score': 647, 'count': 311}, '选择反应时': {'score': 983, 'count': 317}, '台阶指数': {'score': 332, 'count': 117}}, '行政事务中心': {'BMI': {'score': 157, 'count': 41}, '肺活量': {'score': 111, 'count': 36}, '握力': {'score': 53, 'count': 40}, '坐位体前屈': {'score': 78, 'count': 32}, '纵跳': {'score': 68, 'count': 40}, '俯卧撑': {'score': 65, 'count': 19}, '一分钟仰卧起坐': {'score': 64, 'count': 15}, '单脚站立': {'score': 83, 'count': 39}, '选择反应时': {'score': 121, 'count': 41}, '台阶指数': {'score': 51, 'count': 19}}, '信息档案管理中心': {'BMI': {'score': 245, 'count': 59}, '肺活量': {'score': 219, 'count': 59}, '握力': {'score': 63, 'count': 60}, '坐位体前屈': {'score': 162, 'count': 53}, '纵跳': {'score': 103, 'count': 56}, '俯卧撑': {'score': 73, 'count': 25}, '一分钟仰卧起坐': {'score': 86, 'count': 21}, '单脚站立': {'score': 146, 'count': 59}, '选择反应时': {'score': 189, 'count': 59}, '台阶指数': {'score': 98, 'count': 34}}, '研究院': {'BMI': {'score': 405, 'count': 101}, '肺活量': {'score': 346, 'count': 98}, '握力': {'score': 132, 'count': 101}, '坐位体前屈': {'score': 245, 'count': 87}, '纵跳': {'score': 166, 'count': 85}, '俯卧撑': {'score': 170, 'count': 54}, '一分钟仰卧起坐': {'score': 92, 'count': 22}, '单脚站立': {'score': 213, 'count': 99}, '选择反应时': {'score': 337, 'count': 101}, '台阶指数': {'score': 119, 'count': 40}}}\n" + ] + } + ], + "source": [ + "import json\n", + "\n", + "items = ['BMI','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数'] \n", + "filename = 'data/data_天津231017.json'\n", + "with open(filename,'r') as fl:\n", + " dict1 = json.load(fl)\n", + "\n", + "filename = 'data/天津石化人员名单2023.json'\n", + "with open(filename,'r') as fl:\n", + " dict2 = json.load(fl)\n", + "dict3 = {}\n", + "\n", + "for k, v in dict1.items():\n", + " unit = v['unit']\n", + " dict3.setdefault(unit,{})\n", + " for item in items:\n", + " dict3[unit].setdefault(item,{})\n", + " dict3[unit][item].setdefault('score',0)\n", + " dict3[unit][item].setdefault('count',0)\n", + " for k1,v1 in v['fits'].items():\n", + " if k1 in items:\n", + " dict3[unit][k1]['score']+=v1['score']\n", + " dict3[unit][k1]['count']+=1\n", + "print(dict3)" + ] + }, + { + "cell_type": "markdown", + "id": "23a654a2-69f1-41cb-b3dc-23bc7dc7e294", + "metadata": {}, + "source": [ + "### 显示部门成绩" + ] + }, + { + "cell_type": "code", + "execution_count": 236, + "id": "0cb7ff83-69a9-4c03-a539-bde7ffd4a8a8", + "metadata": { + "execution": { + "iopub.execute_input": "2023-11-08T14:38:08.460607Z", + "iopub.status.busy": "2023-11-08T14:38:08.460149Z", + "iopub.status.idle": "2023-11-08T14:38:08.469922Z", + "shell.execute_reply": "2023-11-08T14:38:08.468874Z", + "shell.execute_reply.started": "2023-11-08T14:38:08.460571Z" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "化验计量部\n", + "BMI 3.7155\n", + "肺活量 3.3154\n", + "握力 1.227\n", + "坐位体前屈 2.5979\n", + "纵跳 1.7573\n", + "俯卧撑 2.4727\n", + "一分钟仰卧起坐 3.7099\n", + "单脚站立 2.0226\n", + "选择反应时 2.8322\n", + "台阶指数 2.5594\n", + "\n", + "南港烯烃部\n", + "BMI 3.2647\n", + "肺活量 3.5445\n", + "握力 1.134\n", + "坐位体前屈 2.7686\n", + "纵跳 2.1016\n", + "俯卧撑 2.5676\n", + "一分钟仰卧起坐 3.8056\n", + "单脚站立 1.788\n", + "选择反应时 2.6106\n", + "台阶指数 2.105\n", + "\n", + "消防支队\n", + "BMI 3.5833\n", + "肺活量 3.1667\n", + "握力 1.2958\n", + "坐位体前屈 2.8167\n", + "纵跳 1.3871\n", + "俯卧撑 3.0196\n", + "一分钟仰卧起坐 3.1429\n", + "单脚站立 1.9254\n", + "选择反应时 3.0429\n", + "台阶指数 2.6538\n", + "\n", + "炼油部\n", + "BMI 3.4397\n", + "肺活量 3.2727\n", + "握力 1.7787\n", + "坐位体前屈 3.0921\n", + "纵跳 2.1149\n", + "俯卧撑 2.2733\n", + "一分钟仰卧起坐 3.7048\n", + "单脚站立 1.8649\n", + "选择反应时 3.0247\n", + "台阶指数 2.6587\n", + "\n", + "化工部\n", + "BMI 3.5349\n", + "肺活量 3.1063\n", + "握力 1.2186\n", + "坐位体前屈 3.0696\n", + "纵跳 1.9116\n", + "俯卧撑 2.3695\n", + "一分钟仰卧起坐 3.9043\n", + "单脚站立 2.0641\n", + "选择反应时 2.998\n", + "台阶指数 2.9029\n", + "\n", + "电仪部\n", + "BMI 3.3789\n", + "肺活量 3.3249\n", + "握力 1.2351\n", + "坐位体前屈 2.5845\n", + "纵跳 1.6722\n", + "俯卧撑 2.5157\n", + "一分钟仰卧起坐 3.66\n", + "单脚站立 1.8025\n", + "选择反应时 2.6006\n", + "台阶指数 2.5393\n", + "\n", + "物资采购中心\n", + "BMI 3.4819\n", + "肺活量 3.3735\n", + "握力 1.1341\n", + "坐位体前屈 3.0\n", + "纵跳 1.8101\n", + "俯卧撑 2.6667\n", + "一分钟仰卧起坐 4.1538\n", + "单脚站立 2.3896\n", + "选择反应时 3.2099\n", + "台阶指数 2.8148\n", + "\n", + "水务部\n", + "BMI 3.4962\n", + "肺活量 3.2176\n", + "握力 1.2386\n", + "坐位体前屈 2.7987\n", + "纵跳 1.7651\n", + "俯卧撑 2.6231\n", + "一分钟仰卧起坐 3.9538\n", + "单脚站立 2.0628\n", + "选择反应时 3.023\n", + "台阶指数 2.6293\n", + "\n", + "运输销售部\n", + "BMI 3.6701\n", + "肺活量 3.0645\n", + "握力 1.2969\n", + "坐位体前屈 2.9058\n", + "纵跳 1.4937\n", + "俯卧撑 2.1382\n", + "一分钟仰卧起坐 4.2174\n", + "单脚站立 1.7923\n", + "选择反应时 2.9949\n", + "台阶指数 2.8333\n", + "\n", + "原油储运部\n", + "BMI 3.4091\n", + "肺活量 3.28\n", + "握力 1.2216\n", + "坐位体前屈 2.589\n", + "纵跳 1.8896\n", + "俯卧撑 2.5524\n", + "一分钟仰卧起坐 3.5946\n", + "单脚站立 2.0402\n", + "选择反应时 2.8418\n", + "台阶指数 2.443\n", + "\n", + "聚醚部\n", + "BMI 3.7339\n", + "肺活量 3.5327\n", + "握力 1.367\n", + "坐位体前屈 2.8\n", + "纵跳 1.76\n", + "俯卧撑 2.4286\n", + "一分钟仰卧起坐 4.2222\n", + "单脚站立 1.9352\n", + "选择反应时 3.1364\n", + "台阶指数 2.9167\n", + "\n", + "公司机关\n", + "BMI 3.7143\n", + "肺活量 3.4018\n", + "握力 1.1574\n", + "坐位体前屈 2.6931\n", + "纵跳 2.2\n", + "俯卧撑 3.0189\n", + "一分钟仰卧起坐 4.0\n", + "单脚站立 2.1226\n", + "选择反应时 2.8182\n", + "台阶指数 2.6471\n", + "\n", + "南港乙烯项目管理部\n", + "BMI 4.3333\n", + "肺活量 3.8667\n", + "握力 1.0\n", + "坐位体前屈 2.6154\n", + "纵跳 1.8\n", + "俯卧撑 3.0\n", + "单脚站立 1.3333\n", + "选择反应时 2.6667\n", + "台阶指数 2.9\n", + "\n", + "党委党校(培训中心)\n", + "BMI 4.0\n", + "肺活量 3.6591\n", + "握力 1.0\n", + "坐位体前屈 2.975\n", + "纵跳 1.8182\n", + "俯卧撑 2.4444\n", + "一分钟仰卧起坐 3.9333\n", + "单脚站立 2.4048\n", + "选择反应时 3.3125\n", + "台阶指数 2.9444\n", + "\n", + "装备研究院\n", + "BMI 4.2083\n", + "肺活量 3.6458\n", + "握力 1.1875\n", + "坐位体前屈 2.6522\n", + "纵跳 2.0667\n", + "俯卧撑 2.28\n", + "一分钟仰卧起坐 4.5\n", + "单脚站立 2.1064\n", + "选择反应时 3.0208\n", + "台阶指数 2.5385\n", + "\n", + "热电部\n", + "BMI 3.545\n", + "肺活量 3.297\n", + "握力 1.457\n", + "坐位体前屈 2.7988\n", + "纵跳 2.0687\n", + "俯卧撑 2.702\n", + "一分钟仰卧起坐 3.9048\n", + "单脚站立 2.0026\n", + "选择反应时 3.0246\n", + "台阶指数 2.8593\n", + "\n", + "烯烃部\n", + "BMI 3.7003\n", + "肺活量 3.1226\n", + "握力 1.3396\n", + "坐位体前屈 3.043\n", + "纵跳 1.9135\n", + "俯卧撑 2.4788\n", + "一分钟仰卧起坐 3.9538\n", + "单脚站立 2.0804\n", + "选择反应时 3.1009\n", + "台阶指数 2.8376\n", + "\n", + "行政事务中心\n", + "BMI 3.8293\n", + "肺活量 3.0833\n", + "握力 1.325\n", + "坐位体前屈 2.4375\n", + "纵跳 1.7\n", + "俯卧撑 3.4211\n", + "一分钟仰卧起坐 4.2667\n", + "单脚站立 2.1282\n", + "选择反应时 2.9512\n", + "台阶指数 2.6842\n", + "\n", + "信息档案管理中心\n", + "BMI 4.1525\n", + "肺活量 3.7119\n", + "握力 1.05\n", + "坐位体前屈 3.0566\n", + "纵跳 1.8393\n", + "俯卧撑 2.92\n", + "一分钟仰卧起坐 4.0952\n", + "单脚站立 2.4746\n", + "选择反应时 3.2034\n", + "台阶指数 2.8824\n", + "\n", + "研究院\n", + "BMI 4.0099\n", + "肺活量 3.5306\n", + "握力 1.3069\n", + "坐位体前屈 2.8161\n", + "纵跳 1.9529\n", + "俯卧撑 3.1481\n", + "一分钟仰卧起坐 4.1818\n", + "单脚站立 2.1515\n", + "选择反应时 3.3366\n", + "台阶指数 2.975\n", + "\n" + ] + } + ], + "source": [ + "\n", + "for k ,v in dict3.items():\n", + " print(k)\n", + " for k1,v1 in v.items():\n", + " if v1['count']>0:\n", + " print(k1,round(v1['score']/v1['count'],4))\n", + " print()" ] }, { "cell_type": "code", "execution_count": null, - "id": "f8949993-7501-4359-aa7c-2cd5de348056", + "id": "2ed551b0-85d5-40d4-8cc1-fd0a0c330ad9", "metadata": {}, "outputs": [], "source": []