diff --git a/体测单位/东营石油工程设计院.ipynb b/体测单位/东营石油工程设计院.ipynb index 0fa9774..5715f90 100644 --- a/体测单位/东营石油工程设计院.ipynb +++ b/体测单位/东营石油工程设计院.ipynb @@ -1193,24 +1193,24 @@ ] }, { - "cell_type": "code", - "execution_count": null, - "id": "696682cf-54c0-46d5-9947-d2bee794f555", + "cell_type": "markdown", + "id": "f13c93bc-dc11-455f-b90f-07ebabfb0d5a", "metadata": {}, - "outputs": [], - "source": [] + "source": [ + "## 导出带得分体测情况明细表" + ] }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 2, "id": "5cb11459-4719-4cbf-9735-510436b8bd49", "metadata": { "execution": { - "iopub.execute_input": "2024-10-11T09:20:31.256635Z", - "iopub.status.busy": "2024-10-11T09:20:31.255869Z", - "iopub.status.idle": "2024-10-11T09:20:31.299121Z", - "shell.execute_reply": "2024-10-11T09:20:31.298616Z", - "shell.execute_reply.started": "2024-10-11T09:20:31.256566Z" + "iopub.execute_input": "2024-10-16T05:59:47.130519Z", + "iopub.status.busy": "2024-10-16T05:59:47.129808Z", + "iopub.status.idle": "2024-10-16T05:59:47.178226Z", + "shell.execute_reply": "2024-10-16T05:59:47.177645Z", + "shell.execute_reply.started": "2024-10-16T05:59:47.130453Z" } }, "outputs": [ @@ -1228,7 +1228,7 @@ "\n", "items = ['lung','grip','flexion','jump','pushup','situp','balance','reaction','step']\n", "bmi = ['height','weight']\n", - "title = ['编号','姓名','性别','单位/部门','身高','体重','bmi','肺活量','','握力','','坐位体前屈','','纵跳','','俯卧撑','','一分钟仰卧起坐','','单脚站立','','选择反应时','','台阶指数']\n", + "title = ['编号','姓名','性别','年龄','单位/部门','身高','体重','bmi','肺活量','','握力','','坐位体前屈','','纵跳','','俯卧撑','','一分钟仰卧起坐','','单脚站立','','选择反应时','','台阶指数']\n", "\n", "filename = 'data/result_东营工程设计院2024.json'\n", "with open(filename,'r') as fl:\n", @@ -1240,6 +1240,7 @@ " list2.append(str(k).rjust(5,'0'))\n", " list2.append(dict1[k]['name']) \n", " list2.append(dict1[k]['sex'])\n", + " list2.append(dict1[k]['age'])\n", " list2.append(dict1[k]['unit'])\n", " i = 0\n", " if 'bmi' in dict1[k].keys():\n", diff --git a/体测单位/体质检测数据处理.ipynb b/体测单位/体质检测数据处理.ipynb index 7375cea..24ac9f3 100644 --- a/体测单位/体质检测数据处理.ipynb +++ b/体测单位/体质检测数据处理.ipynb @@ -1690,15 +1690,15 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 33, "id": "63edd636-f034-4aa6-8575-63d5cdb84adb", "metadata": { "execution": { - "iopub.execute_input": "2024-10-14T04:27:43.990332Z", - "iopub.status.busy": "2024-10-14T04:27:43.989558Z", - "iopub.status.idle": "2024-10-14T04:27:44.001359Z", - "shell.execute_reply": "2024-10-14T04:27:44.000019Z", - "shell.execute_reply.started": "2024-10-14T04:27:43.990257Z" + "iopub.execute_input": "2024-10-14T10:21:11.612050Z", + "iopub.status.busy": "2024-10-14T10:21:11.611346Z", + "iopub.status.idle": "2024-10-14T10:21:11.622455Z", + "shell.execute_reply": "2024-10-14T10:21:11.621489Z", + "shell.execute_reply.started": "2024-10-14T10:21:11.611986Z" }, "tags": [] }, @@ -1749,15 +1749,15 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 35, "id": "1b4a3f02-9b2e-41fc-ac6c-8163907a07f1", "metadata": { "execution": { - "iopub.execute_input": "2024-07-22T10:45:02.735772Z", - "iopub.status.busy": "2024-07-22T10:45:02.734943Z", - "iopub.status.idle": "2024-07-22T10:45:02.744313Z", - "shell.execute_reply": "2024-07-22T10:45:02.743841Z", - "shell.execute_reply.started": "2024-07-22T10:45:02.735697Z" + "iopub.execute_input": "2024-10-14T10:23:56.294263Z", + "iopub.status.busy": "2024-10-14T10:23:56.293490Z", + "iopub.status.idle": "2024-10-14T10:23:56.311309Z", + "shell.execute_reply": "2024-10-14T10:23:56.310359Z", + "shell.execute_reply.started": "2024-10-14T10:23:56.294186Z" }, "tags": [] }, @@ -1766,11 +1766,11 @@ "name": "stdout", "output_type": "stream", "text": [ - "0~255分人数:5人,男性:5人,女性:0人\n", - "256~332分人数:12人,男性:9人,女性:3人\n", - "333~367分人数:7人,男性:5人,女性:2人\n", - "368~500分人数:3人,男性:3人,女性:0人\n", - "27\n", + "0~255分人数:15人,男性:12人,女性:3人\n", + "256~332分人数:41人,男性:24人,女性:17人\n", + "333~367分人数:11人,男性:6人,女性:5人\n", + "368~500分人数:9人,男性:2人,女性:7人\n", + "76\n", "ok\n" ] } @@ -1820,15 +1820,15 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 36, "id": "2d661ca6-6129-4da1-ac25-51d0156babb2", "metadata": { "execution": { - "iopub.execute_input": "2024-07-22T10:46:27.176798Z", - "iopub.status.busy": "2024-07-22T10:46:27.176057Z", - "iopub.status.idle": "2024-07-22T10:46:27.187127Z", - "shell.execute_reply": "2024-07-22T10:46:27.185934Z", - "shell.execute_reply.started": "2024-07-22T10:46:27.176733Z" + "iopub.execute_input": "2024-10-14T10:24:43.837435Z", + "iopub.status.busy": "2024-10-14T10:24:43.835848Z", + "iopub.status.idle": "2024-10-14T10:24:43.850716Z", + "shell.execute_reply": "2024-10-14T10:24:43.849360Z", + "shell.execute_reply.started": "2024-10-14T10:24:43.837350Z" }, "tags": [] }, @@ -1837,14 +1837,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "20-24 {}\n", - "25-29 {}\n", - "30-34 {'良好': 0, '合格': 0, '不合格': 0}\n", - "35-39 {'合格': 2, '良好': 1, '不合格': 0}\n", - "40-44 {'合格': 0, '不合格': 0, '优秀': 0}\n", - "45-49 {'合格': 1, '良好': 1}\n", - "50-54 {'优秀': 0, '良好': 0, '合格': 0}\n", - "55-80 {}\n" + "20-24 {'不合格': 0, '合格': 3, '良好': 0}\n", + "25-29 {'不合格': 3, '合格': 7, '良好': 1, '优秀': 0}\n", + "30-34 {'良好': 1, '合格': 2, '优秀': 1}\n", + "35-39 {'良好': 2, '合格': 3, '优秀': 1}\n", + "40-44 {'良好': 0, '合格': 2, '优秀': 1, '不合格': 0}\n", + "45-49 {'优秀': 2, '合格': 0, '不合格': 0}\n", + "50-54 {'良好': 1, '优秀': 2, '合格': 0}\n", + "55-80 {'不合格': 0, '合格': 0}\n" ] } ], @@ -1887,15 +1887,15 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 37, "id": "fc97df37-34ff-4a02-9d26-b5d81b706e46", "metadata": { "execution": { - "iopub.execute_input": "2024-07-22T10:47:20.732842Z", - "iopub.status.busy": "2024-07-22T10:47:20.732121Z", - "iopub.status.idle": "2024-07-22T10:47:20.742855Z", - "shell.execute_reply": "2024-07-22T10:47:20.741614Z", - "shell.execute_reply.started": "2024-07-22T10:47:20.732780Z" + "iopub.execute_input": "2024-10-14T10:25:49.522331Z", + "iopub.status.busy": "2024-10-14T10:25:49.521681Z", + "iopub.status.idle": "2024-10-14T10:25:49.529595Z", + "shell.execute_reply": "2024-10-14T10:25:49.529017Z", + "shell.execute_reply.started": "2024-10-14T10:25:49.522266Z" }, "tags": [] }, @@ -1904,14 +1904,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "20-24 {}\n", - "25-29 {}\n", - "30-34 {'良好': 1, '合格': 1, '不合格': 1}\n", - "35-39 {'合格': 5, '良好': 1, '不合格': 2}\n", - "40-44 {'合格': 2, '不合格': 2, '优秀': 2}\n", - "45-49 {'合格': 0, '良好': 2}\n", - "50-54 {'优秀': 1, '良好': 1, '合格': 1}\n", - "55-80 {}\n" + "20-24 {'不合格': 2, '合格': 2, '良好': 2}\n", + "25-29 {'不合格': 5, '合格': 11, '良好': 1, '优秀': 1}\n", + "30-34 {'良好': 1, '合格': 1, '优秀': 0}\n", + "35-39 {'良好': 0, '合格': 2, '优秀': 0}\n", + "40-44 {'良好': 1, '合格': 2, '优秀': 0, '不合格': 2}\n", + "45-49 {'优秀': 1, '合格': 2, '不合格': 1}\n", + "50-54 {'良好': 1, '优秀': 0, '合格': 2}\n", + "55-80 {'不合格': 2, '合格': 2}\n" ] } ], @@ -1954,15 +1954,15 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 38, "id": "dafb86f8-5ee0-4c87-a98f-c7ff0f631fe5", "metadata": { "execution": { - "iopub.execute_input": "2024-07-22T10:48:15.458229Z", - "iopub.status.busy": "2024-07-22T10:48:15.457408Z", - "iopub.status.idle": "2024-07-22T10:48:15.466240Z", - "shell.execute_reply": "2024-07-22T10:48:15.465077Z", - "shell.execute_reply.started": "2024-07-22T10:48:15.458132Z" + "iopub.execute_input": "2024-10-14T10:26:40.918191Z", + "iopub.status.busy": "2024-10-14T10:26:40.916838Z", + "iopub.status.idle": "2024-10-14T10:26:40.926504Z", + "shell.execute_reply": "2024-10-14T10:26:40.925115Z", + "shell.execute_reply.started": "2024-10-14T10:26:40.918077Z" }, "tags": [] }, @@ -1971,14 +1971,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "16~24岁平均成绩:0分,人数:0人,男性:0人\n", - "25~29岁平均成绩:0分,人数:0人,男性:0人\n", - "30~34岁平均成绩:2.99分,人数:3人,男性:3人\n", - "35~39岁平均成绩:2.83分,人数:11人,男性:8人\n", - "40~44岁平均成绩:2.93分,人数:6人,男性:6人\n", - "45~49岁平均成绩:3.48分,人数:4人,男性:2人\n", - "50~54岁平均成绩:3.32分,人数:3人,男性:3人\n", - "55~69岁平均成绩:0分,人数:0人,男性:0人\n" + "16~24岁平均成绩:2.78分,人数:9人,男性:6人\n", + "25~29岁平均成绩:2.72分,人数:29人,男性:18人\n", + "30~34岁平均成绩:3.3分,人数:6人,男性:2人\n", + "35~39岁平均成绩:3.08分,人数:8人,男性:2人\n", + "40~44岁平均成绩:2.87分,人数:8人,男性:5人\n", + "45~49岁平均成绩:3.24分,人数:6人,男性:4人\n", + "50~54岁平均成绩:3.54分,人数:6人,男性:3人\n", + "55~69岁平均成绩:2.62分,人数:4人,男性:4人\n" ] } ], @@ -2016,15 +2016,15 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 39, "id": "347703a1-501b-4800-bd29-16e94f4a6793", "metadata": { "execution": { - "iopub.execute_input": "2024-07-22T10:50:50.918663Z", - "iopub.status.busy": "2024-07-22T10:50:50.917861Z", - "iopub.status.idle": "2024-07-22T10:50:50.928381Z", - "shell.execute_reply": "2024-07-22T10:50:50.926718Z", - "shell.execute_reply.started": "2024-07-22T10:50:50.918592Z" + "iopub.execute_input": "2024-10-14T10:28:16.896658Z", + "iopub.status.busy": "2024-10-14T10:28:16.895896Z", + "iopub.status.idle": "2024-10-14T10:28:16.905947Z", + "shell.execute_reply": "2024-10-14T10:28:16.904710Z", + "shell.execute_reply.started": "2024-10-14T10:28:16.896584Z" }, "tags": [] }, @@ -2033,14 +2033,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "20~24岁平均成绩:0分,人数:0人\n", - "25~29岁平均成绩:0分,人数:0人\n", - "30~34岁平均成绩:2.99分,人数:3人\n", - "35~39岁平均成绩:2.69分,人数:8人\n", - "40~44岁平均成绩:2.93分,人数:6人\n", - "45~49岁平均成绩:3.58分,人数:2人\n", - "50~54岁平均成绩:3.32分,人数:3人\n", - "55~80岁平均成绩:0分,人数:0人\n" + "20~24岁平均成绩:2.76分,人数:6人\n", + "25~29岁平均成绩:2.7分,人数:18人\n", + "30~34岁平均成绩:3.12分,人数:2人\n", + "35~39岁平均成绩:2.78分,人数:2人\n", + "40~44岁平均成绩:2.68分,人数:5人\n", + "45~49岁平均成绩:2.94分,人数:4人\n", + "50~54岁平均成绩:3.3分,人数:3人\n", + "55~80岁平均成绩:2.62分,人数:4人\n" ] } ], @@ -2078,15 +2078,15 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 40, "id": "5900d1c7-2f8c-4dfa-a60e-a577fb90f22d", "metadata": { "execution": { - "iopub.execute_input": "2024-07-22T10:52:53.212864Z", - "iopub.status.busy": "2024-07-22T10:52:53.212022Z", - "iopub.status.idle": "2024-07-22T10:52:53.221736Z", - "shell.execute_reply": "2024-07-22T10:52:53.220552Z", - "shell.execute_reply.started": "2024-07-22T10:52:53.212784Z" + "iopub.execute_input": "2024-10-14T10:29:05.940899Z", + "iopub.status.busy": "2024-10-14T10:29:05.940193Z", + "iopub.status.idle": "2024-10-14T10:29:05.953855Z", + "shell.execute_reply": "2024-10-14T10:29:05.952640Z", + "shell.execute_reply.started": "2024-10-14T10:29:05.940831Z" }, "tags": [] }, @@ -2095,13 +2095,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "20~24岁平均成绩:0分,人数:0人\n", - "25~29岁平均成绩:0分,人数:0人\n", - "30~34岁平均成绩:0分,人数:0人\n", - "35~39岁平均成绩:3.21分,人数:3人\n", - "40~44岁平均成绩:0分,人数:0人\n", - "45~49岁平均成绩:3.37分,人数:2人\n", - "50~54岁平均成绩:0分,人数:0人\n", + "20~24岁平均成绩:2.82分,人数:3人\n", + "25~29岁平均成绩:2.74分,人数:11人\n", + "30~34岁平均成绩:3.39分,人数:4人\n", + "35~39岁平均成绩:3.19分,人数:6人\n", + "40~44岁平均成绩:3.19分,人数:3人\n", + "45~49岁平均成绩:3.83分,人数:2人\n", + "50~54岁平均成绩:3.78分,人数:3人\n", "55~80岁平均成绩:0分,人数:0人\n" ] } @@ -2138,15 +2138,15 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 42, "id": "ad69c45d-3f62-42df-894d-47424e759029", "metadata": { "execution": { - "iopub.execute_input": "2024-07-22T10:55:59.904472Z", - "iopub.status.busy": "2024-07-22T10:55:59.903897Z", - "iopub.status.idle": "2024-07-22T10:55:59.913494Z", - "shell.execute_reply": "2024-07-22T10:55:59.912284Z", - "shell.execute_reply.started": "2024-07-22T10:55:59.904418Z" + "iopub.execute_input": "2024-10-14T10:29:38.461438Z", + "iopub.status.busy": "2024-10-14T10:29:38.460675Z", + "iopub.status.idle": "2024-10-14T10:29:38.469442Z", + "shell.execute_reply": "2024-10-14T10:29:38.468446Z", + "shell.execute_reply.started": "2024-10-14T10:29:38.461364Z" }, "tags": [] }, @@ -2155,16 +2155,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "BMI 3.54 26\n", - "肺活量 3.58 12\n", - "握力 3.07 27\n", - "坐位体前屈 2.6 25\n", - "纵跳 2.76 25\n", - "俯卧撑 2.9 21\n", - "一分钟仰卧起坐 4.0 4\n", - "单脚站立 3.11 27\n", - "选择反应时 3.92 26\n", - "台阶指数 1.84 25\n" + "BMI 3.95 76\n", + "肺活量 3.71 76\n", + "握力 1.79 76\n", + "坐位体前屈 1.96 75\n", + "纵跳 2.61 76\n", + "俯卧撑 3.8 41\n", + "一分钟仰卧起坐 3.72 32\n", + "单脚站立 2.67 76\n", + "选择反应时 3.22 76\n", + "台阶指数 2.71 75\n" ] } ], @@ -2192,15 +2192,15 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 43, "id": "dcf152e7-bbcc-47d1-9c5f-83854db35412", "metadata": { "execution": { - "iopub.execute_input": "2024-07-22T11:15:19.511226Z", - "iopub.status.busy": "2024-07-22T11:15:19.510450Z", - "iopub.status.idle": "2024-07-22T11:15:19.519213Z", - "shell.execute_reply": "2024-07-22T11:15:19.518187Z", - "shell.execute_reply.started": "2024-07-22T11:15:19.511189Z" + "iopub.execute_input": "2024-10-14T10:30:25.832265Z", + "iopub.status.busy": "2024-10-14T10:30:25.831497Z", + "iopub.status.idle": "2024-10-14T10:30:25.843861Z", + "shell.execute_reply": "2024-10-14T10:30:25.842633Z", + "shell.execute_reply.started": "2024-10-14T10:30:25.832193Z" }, "tags": [] }, @@ -2209,15 +2209,22 @@ "name": "stdout", "output_type": "stream", "text": [ - "物探项目部 2.95 3\n", - "经营办公室 3.24 3\n", - "石油勘探项目部 2.91 7\n", - "天然气及风险勘探项目部 2.87 8\n", - "领导 2.25 1\n", - "副总师 2.62 1\n", - "综合办公室 3.65 2\n", - "西南地区科考项目部借调人员 3.67 1\n", - "安全生产办公室 3.78 1\n" + "节能环保工程技术中心 2.88 8\n", + "海洋工程设计所 2.74 6\n", + "工程监理公司 3.33 1\n", + "技术发展中心 2.67 1\n", + "综合服务中心 3.06 8\n", + "电力设计所 2.97 3\n", + "建筑设计所 3.0 3\n", + "管道工程设计所 2.62 12\n", + "工程勘察公司 2.97 9\n", + "智能化研究中心 2.87 8\n", + "机械设备设计所 3.09 7\n", + "自控通信设计所 3.44 1\n", + "档案管理中心 3.67 2\n", + "油气工艺设计所 3.36 4\n", + "水处理及热力工程设计所 2.28 2\n", + "运行管理部 3.0 1\n" ] } ], @@ -2275,9 +2282,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "6f9768ce-2ef5-4253-9fc6-49dbdcf00a19", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-16T06:02:27.816265Z", + "iopub.status.busy": "2024-10-16T06:02:27.815491Z", + "iopub.status.idle": "2024-10-16T06:02:27.826371Z", + "shell.execute_reply": "2024-10-16T06:02:27.825201Z", + "shell.execute_reply.started": "2024-10-16T06:02:27.816192Z" + } + }, "outputs": [], "source": [ "import json\n", @@ -2406,18 +2421,36 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "1acaf159-637e-4101-9881-f6bb79400136", "metadata": { + "execution": { + "iopub.execute_input": "2024-10-16T06:09:09.005052Z", + "iopub.status.busy": "2024-10-16T06:09:09.004252Z", + "iopub.status.idle": "2024-10-16T06:09:09.036024Z", + "shell.execute_reply": "2024-10-16T06:09:09.035535Z", + "shell.execute_reply.started": "2024-10-16T06:09:09.004974Z" + }, "tags": [] }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[['39', '特禀', False, 68, 31, 32, 12, 28, 29, 17, 28, 42], ['38', '平和', False, 81, 15, 14, 9, 6, 12, 10, 3, 0], ['8', '痰湿', True, 81, 21, 7, 6, 31, 29, 17, 14, 0], ['48', '阳虚', False, 62, 18, 42, 15, 9, 0, 10, 3, 0], ['47', '湿热', False, 34, 43, 57, 50, 68, 70, 39, 57, 46], ['42', '痰湿', False, 37, 75, 67, 68, 96, 83, 67, 92, 67], ['63', '阴虚', True, 78, 18, 10, 37, 34, 25, 10, 3, 10], ['190', '阳虚', False, 56, 28, 50, 18, 31, 25, 14, 32, 17], ['5', '阳虚', False, 56, 46, 57, 40, 50, 45, 28, 39, 28], ['43', '平和', False, 68, 28, 0, 6, 9, 4, 28, 17, 3], ['64', '阳虚', False, 65, 21, 64, 9, 18, 29, 14, 14, 7], ['25', '气虚', True, 68, 31, 14, 18, 6, 12, 3, 7, 0], ['19', '阴虚', False, 68, 25, 25, 46, 46, 16, 17, 25, 32], ['18', '阳虚', False, 62, 18, 42, 25, 37, 37, 39, 3, 3], ['16', '平和', False, 81, 18, 0, 6, 3, 20, 7, 0, 14], ['56', '痰湿', False, 50, 50, 50, 50, 53, 50, 32, 42, 0], ['75', '平和', False, 90, 3, 10, 0, 0, 16, 10, 10, 0], ['76', '阳虚', False, 34, 53, 82, 46, 59, 70, 67, 50, 35], ['24', '气虚', True, 62, 34, 25, 25, 25, 25, 28, 25, 25], ['23', '平和', False, 93, 15, 10, 25, 18, 8, 7, 3, 0], ['46', '气虚', True, 71, 31, 28, 25, 25, 25, 25, 25, 25], ['10', '平和', False, 93, 0, 0, 0, 0, 0, 0, 0, 0], ['189', '痰湿', False, 75, 28, 0, 40, 62, 33, 46, 42, 17], ['9', '气郁', False, 59, 31, 7, 40, 12, 0, 42, 50, 39], ['191', '阳虚', False, 31, 50, 89, 25, 65, 58, 46, 67, 50], ['11', '气虚', False, 59, 46, 25, 3, 0, 0, 3, 10, 0], ['192', '血瘀', False, 46, 53, 53, 53, 50, 50, 57, 50, 50], ['49', '阳虚', False, 56, 25, 53, 9, 9, 4, 32, 28, 17], ['51', '阴虚', True, 68, 34, 28, 37, 31, 37, 7, 32, 14], ['62', '气郁', False, 46, 40, 32, 34, 34, 29, 39, 60, 39], ['3', '气郁', False, 56, 15, 14, 12, 18, 0, 7, 35, 14], ['83', '湿热', False, 68, 37, 10, 43, 53, 54, 35, 42, 28], ['194', '阳虚', False, 65, 37, 71, 25, 43, 25, 28, 21, 32], ['67', '阴虚', True, 78, 21, 7, 37, 34, 20, 17, 14, 10], ['84', '气虚', False, 50, 56, 53, 37, 37, 37, 39, 32, 14], ['82', '气郁', False, 53, 53, 42, 31, 43, 37, 57, 67, 17], ['80', '湿热', False, 53, 40, 46, 43, 28, 50, 28, 46, 14], ['79', '气虚', False, 71, 46, 25, 28, 43, 33, 21, 32, 14], ['78', '气虚', False, 50, 50, 50, 50, 50, 50, 50, 50, 50], ['195', '阳虚', True, 68, 18, 35, 31, 31, 8, 17, 28, 28], ['58', '气虚', False, 56, 53, 21, 43, 28, 25, 50, 35, 25], ['66', '痰湿', False, 53, 40, 39, 37, 50, 41, 35, 25, 39], ['65', '湿热', False, 65, 21, 25, 25, 43, 54, 21, 17, 42], ['32', '平和', False, 65, 25, 7, 28, 25, 8, 17, 17, 14], ['45', '湿热', False, 75, 21, 10, 34, 34, 58, 39, 32, 35], ['71', '痰湿', True, 62, 34, 28, 25, 37, 29, 21, 35, 28], ['54', '痰湿', False, 46, 40, 32, 18, 59, 20, 35, 39, 35], ['21', '平和', False, 100, 0, 0, 0, 0, 0, 0, 0, 0], ['68', '阳虚', False, 59, 25, 60, 15, 21, 25, 14, 21, 7], ['31', '阳虚', True, 71, 25, 39, 21, 21, 8, 21, 14, 28], ['44', '气虚', False, 62, 50, 39, 31, 25, 45, 7, 17, 14], ['29', '痰湿', False, 37, 50, 32, 50, 62, 45, 32, 46, 42], ['50', '阳虚', False, 78, 18, 42, 9, 21, 37, 3, 3, 32], ['34', '痰湿', False, 78, 31, 46, 40, 78, 37, 25, 50, 35], ['57', '阳虚', False, 43, 59, 64, 43, 46, 58, 42, 35, 35], ['200', '特禀', True, 81, 15, 7, 21, 15, 33, 17, 17, 35], ['12', '气虚', False, 50, 53, 50, 34, 46, 37, 28, 39, 28], ['13', '痰湿', False, 46, 56, 42, 46, 62, 50, 42, 42, 28]]\n", + "ok\n" + ] + } + ], "source": [ + "import openpyxl\n", "\n", "filename = 'data/result_东营工程设计院2024_all.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", "i = 1\n", + "list2 = []\n", "for k, v in dict1.items():\n", " if 'tcm' in v.keys():\n", " list1 = []\n", @@ -2429,8 +2462,25 @@ " result = tcm_kind(score)\n", " kind = result['kind']\n", " near = result['near']\n", - " print(i,k,kinds[kind], near, score)\n", - " i+=1" + " #print(i,k,kinds[kind], near, score)\n", + " #i+=1\n", + " list3 = []\n", + " list3.append(k)\n", + " list3.append(kinds[kind])\n", + " list3.append(near)\n", + " for item in score:\n", + " list3.append(item)\n", + " list2.append(list3)\n", + "print(list2)\n", + "filename = 'data/东营工程设计院中医情况明细表.xlsx'\n", + "wb = openpyxl.Workbook()\n", + "sheet = wb.active\n", + "\n", + "for row in list2:\n", + " sheet.append(row)\n", + " \n", + "wb.save(filename)\n", + "print('ok') " ] }, { diff --git a/体测单位/天津石化.ipynb b/体测单位/天津石化.ipynb index cb530a3..f50f727 100644 --- a/体测单位/天津石化.ipynb +++ b/体测单位/天津石化.ipynb @@ -1492,6 +1492,7 @@ "cell_type": "markdown", "id": "73524e7f-4262-46d3-a733-74ac18e43855", "metadata": { + "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ @@ -2850,6 +2851,374 @@ " " ] }, + { + "cell_type": "markdown", + "id": "08bcbf58-4356-4f30-850f-0d0ff0e2528b", + "metadata": {}, + "source": [ + "# 第三次体测(2024年10月)" + ] + }, + { + "cell_type": "markdown", + "id": "e439892b-fd46-4264-8f3c-202bc6388384", + "metadata": {}, + "source": [ + "## 体测人员导入" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "2fdbadd7-e9b1-45bf-ae95-52b4d65e03e8", + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:06:26.974537Z", + "iopub.status.busy": "2024-10-21T10:06:26.973770Z", + "iopub.status.idle": "2024-10-21T10:06:27.568893Z", + "shell.execute_reply": "2024-10-21T10:06:27.568360Z", + "shell.execute_reply.started": "2024-10-21T10:06:26.974467Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ok\n" + ] + } + ], + "source": [ + "import openpyxl\n", + "import json\n", + "\n", + "\n", + "wb = openpyxl.load_workbook('data/天津石化名单(2024年).xlsx')\n", + "sheet = wb.active\n", + "# sheets = wb.sheetnames\n", + "person = {}\n", + "\n", + "for n in range(2, sheet.max_row+1):\n", + " code = int(sheet.cell(n, 1).value)\n", + " person.setdefault(code, {})\n", + " dict1 = {}\n", + " dict1['name'] = sheet.cell(n, 4).value\n", + " dict1['sex'] = sheet.cell(n, 6).value\n", + " dict1['unit'] = sheet.cell(n, 2).value\n", + " dict1['sub_unit'] = sheet.cell(n, 3).value\n", + " dict1['birth'] = str(sheet.cell(n, 7).value).replace('/','-').split(' ')[0] \n", + " #dict1['id'] = sheet.cell(n,5).value\n", + " person[code] = dict1\n", + "filename = 'data/天津石化人员2024.json'\n", + "with open(filename, 'w') as fl:\n", + " json.dump(person, fl, ensure_ascii=False)\n", + "print('ok')" + ] + }, + { + "cell_type": "markdown", + "id": "df164df9-66b9-44bf-871b-d137f2322648", + "metadata": {}, + "source": [ + "## 生成读卡系统文件" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "ddb84188-aafb-49b3-836d-79d9b13dfe35", + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-14T05:51:16.063432Z", + "iopub.status.busy": "2024-10-14T05:51:16.062897Z", + "iopub.status.idle": "2024-10-14T05:51:16.111372Z", + "shell.execute_reply": "2024-10-14T05:51:16.110782Z", + "shell.execute_reply.started": "2024-10-14T05:51:16.063381Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ok\n" + ] + } + ], + "source": [ + "import json\n", + "\n", + "filename = 'data/天津石化人员2024.json'\n", + "with open(filename,'r') as fl:\n", + " dict1 = json.load(fl)\n", + "list1 = []\n", + "for k, v in dict1.items():\n", + " dict2 = {}\n", + " #if dict1['sex'] =='男':\n", + " # sex = 1\n", + " \n", + " dict2 = {'id':k,'name':v['name'],'gender':v['sex'],'birth':v['birth'],'unit':v['unit']}\n", + " list1.append(dict2)\n", + "json_data = json.dumps(list1,ensure_ascii=False, indent=4) \n", + "\n", + "# 将 json 数据写入文件\n", + "with open(\"data/data_天津石化人员2024.json\", \"w\",encoding = 'utf-8') as file:\n", + " file.write(json_data) \n", + "print('ok')" + ] + }, + { + "cell_type": "markdown", + "id": "8222893c-b6e6-47bf-9daa-81b8b7a1952c", + "metadata": {}, + "source": [ + "## 获取人员测试成绩" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "f922ad6a-e7ff-4ff9-923f-3e7aa8ea112b", + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:06:44.171412Z", + "iopub.status.busy": "2024-10-21T10:06:44.170650Z", + "iopub.status.idle": "2024-10-21T10:06:44.271785Z", + "shell.execute_reply": "2024-10-21T10:06:44.271220Z", + "shell.execute_reply.started": "2024-10-21T10:06:44.171341Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1500\n", + "1500\n" + ] + } + ], + "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/天津石化人员2024.json'\n", + "with open(filename,'r') as fl:\n", + " dict1 = json.load(fl) \n", + "\n", + "filename = 'data/places_result_20241021.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", + " re_ta[user]['sub_unit'] = dict1[user]['sub_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_天津2024.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": "618e765d-c75d-4a46-9097-557e3c568123", + "metadata": {}, + "source": [ + "## 导出测试人员信息" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "f59cf12c-d409-4de8-80f9-8264e4a2d221", + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:06:58.056883Z", + "iopub.status.busy": "2024-10-21T10:06:58.056217Z", + "iopub.status.idle": "2024-10-21T10:06:58.205426Z", + "shell.execute_reply": "2024-10-21T10:06:58.204917Z", + "shell.execute_reply.started": "2024-10-21T10:06:58.056824Z" + } + }, + "outputs": [], + "source": [ + "import json\n", + "import openpyxl\n", + "\n", + "items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']\n", + "title = ['编号','姓名','性别','单位','部门','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']\n", + "\n", + "filename = 'data/result_天津2024.json'\n", + "with open(filename,'r') as fl:\n", + " dict1 = json.load(fl)\n", + "\n", + "filename = 'data/天津石化人员2024.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", + " list2.append(dict2[k]['sub_unit'])\n", + " list1.append(list2)\n", + "filename = 'data/天津石化体测情况(截至20241021).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": "12837ccf-90a5-43cd-8201-2777aa6d3dd4", + "metadata": {}, + "source": [ + "## 统计各部门测试情况" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "8301201e-43fc-4d24-94a0-9c554ca39dfb", + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:07:07.304706Z", + "iopub.status.busy": "2024-10-21T10:07:07.303931Z", + "iopub.status.idle": "2024-10-21T10:07:07.344670Z", + "shell.execute_reply": "2024-10-21T10:07:07.344247Z", + "shell.execute_reply.started": "2024-10-21T10:07:07.304631Z" + } + }, + "outputs": [], + "source": [ + "import json\n", + "\n", + "filename = 'data/result_天津2024.json'\n", + "with open(filename,'r') as fl:\n", + " dict1 = json.load(fl)\n", + "\n", + "filename = 'data/天津石化人员2024.json'\n", + "with open(filename,'r') as fl:\n", + " dict2 = json.load(fl)\n", + "\n", + "dict3 = {}\n", + "for k, v in dict2.items():\n", + " unit = v['unit']\n", + " #sub_unit = v['sub_unit']\n", + " dict3.setdefault(unit,{})\n", + " dict3[unit].setdefault('人数',0)\n", + " #dict3[unit].setdefault(sub_unit,0)\n", + " #dict3[unit][sub_unit] = dict3[unit][sub_unit] + 1\n", + " dict3[unit]['人数'] = dict3[unit]['人数'] + 1\n", + "\n", + "title =['单位','体测人数']\n", + "list1 = []\n", + "for k,v in dict1.items(): \n", + " unit = v['unit']\n", + " #sub_unit = v['sub_unit']\n", + " #dict3[unit][sub_unit] = dict3[unit][sub_unit] - 1\n", + " dict3[unit]['人数'] = dict3[unit]['人数'] - 1\n", + "for k, v in dict3.items():\n", + " list2 = [k,v['人数']]\n", + " list1.append(list2)\n", + "\n", + "filename = 'data/天津部门未测试情况(截至20241021).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": "code", + "execution_count": 8, + "id": "efff43f0-a5f8-4de8-9f79-9564bf4fbb63", + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-17T09:21:23.875202Z", + "iopub.status.busy": "2024-10-17T09:21:23.874694Z", + "iopub.status.idle": "2024-10-17T09:21:23.909617Z", + "shell.execute_reply": "2024-10-17T09:21:23.908972Z", + "shell.execute_reply.started": "2024-10-17T09:21:23.875155Z" + } + }, + "outputs": [], + "source": [ + "import json\n", + "\n", + "filename = 'data/result_天津2024.json'\n", + "with open(filename,'r') as fl:\n", + " dict1 = json.load(fl)\n", + "\n", + "filename = 'data/天津石化人员2024.json'\n", + "with open(filename,'r') as fl:\n", + " dict2 = json.load(fl)\n", + "\n", + "dict3 = {}\n", + "for k, v in dict2.items():\n", + " unit = v['unit']\n", + " #sub_unit = v['sub_unit']\n", + " dict3.setdefault(unit,{})\n", + " dict3[unit].setdefault('人数',0)\n", + " #dict3[unit].setdefault(sub_unit,0)\n", + " #dict3[unit][sub_unit] = dict3[unit][sub_unit] + 1\n", + " dict3[unit]['人数'] = dict3[unit]['人数'] + 1\n", + "\n", + "title =['单位','体测人数']\n", + "list1 = []\n", + "\n", + "for k, v in dict3.items():\n", + " list2 = [k,v['人数']]\n", + " list1.append(list2)\n", + "\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": "85a03b00-9624-4ae9-aa6d-386798d457df", @@ -2861,6 +3230,7 @@ "shell.execute_reply": "2023-10-25T02:50:57.004773Z", "shell.execute_reply.started": "2023-10-25T02:50:56.997463Z" }, + "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ @@ -3866,7 +4236,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.12" + "version": "3.12.3" } }, "nbformat": 4, diff --git a/体测单位/镇海.ipynb b/体测单位/镇海.ipynb index abcb718..b6a926b 100644 --- a/体测单位/镇海.ipynb +++ b/体测单位/镇海.ipynb @@ -536,26 +536,10 @@ }, { "cell_type": "code", - "execution_count": 152, + "execution_count": null, "id": "5cff3c83-b3cb-4c69-97a9-82e523374f6b", - "metadata": { - "execution": { - "iopub.execute_input": "2024-10-10T10:47:36.933057Z", - "iopub.status.busy": "2024-10-10T10:47:36.932336Z", - "iopub.status.idle": "2024-10-10T10:47:37.343139Z", - "shell.execute_reply": "2024-10-10T10:47:37.342525Z", - "shell.execute_reply.started": "2024-10-10T10:47:36.932987Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ok\n" - ] - } - ], + "metadata": {}, + "outputs": [], "source": [ "import json\n", "import openpyxl\n", @@ -1020,10 +1004,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "cccc2e43-7a73-48ec-8540-06b4d59f8ceb", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:23:23.050235Z", + "iopub.status.busy": "2024-10-21T10:23:23.049555Z", + "iopub.status.idle": "2024-10-21T10:23:23.136075Z", + "shell.execute_reply": "2024-10-21T10:23:23.135545Z", + "shell.execute_reply.started": "2024-10-21T10:23:23.050171Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ok!\n" + ] + } + ], "source": [ "import json\n", "import openpyxl\n", @@ -1180,13 +1180,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "d5721244-b5f5-4577-bae8-2e6c5bd8e4da", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:23:27.081228Z", + "iopub.status.busy": "2024-10-21T10:23:27.080518Z", + "iopub.status.idle": "2024-10-21T10:23:27.104743Z", + "shell.execute_reply": "2024-10-21T10:23:27.104057Z", + "shell.execute_reply.started": "2024-10-21T10:23:27.081162Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "平均成绩:3.1739分,男性:1074人\n", + "平均成绩:3.3303分,女性:291人\n", + "平均成绩:3.2072分,总体:1365人\n" + ] + } + ], "source": [ "nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]\n", - "filename = 'data/data_镇海_白班.json'\n", + "filename = 'data/data_镇海.json'\n", "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", "i = 1\n", @@ -1220,10 +1238,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "cff50f06-3221-4340-950f-3a24073b8565", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:23:29.218226Z", + "iopub.status.busy": "2024-10-21T10:23:29.217468Z", + "iopub.status.idle": "2024-10-21T10:23:29.285639Z", + "shell.execute_reply": "2024-10-21T10:23:29.285073Z", + "shell.execute_reply.started": "2024-10-21T10:23:29.218151Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0~255分人数:134人,男性:118人,女性:16人\n", + "256~332分人数:585人,男性:472人,女性:113人\n", + "333~367分人数:431人,男性:333人,女性:98人\n", + "368~500分人数:215人,男性:151人,女性:64人\n", + "1365\n", + "ok\n" + ] + } + ], "source": [ "import json\n", "\n", @@ -1269,10 +1308,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "6baf0ff2-cdfa-4396-bcf8-3e23a18670dc", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:23:31.844166Z", + "iopub.status.busy": "2024-10-21T10:23:31.843399Z", + "iopub.status.idle": "2024-10-21T10:23:31.870324Z", + "shell.execute_reply": "2024-10-21T10:23:31.869769Z", + "shell.execute_reply.started": "2024-10-21T10:23:31.844078Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "20-24 {'良好': 29, '合格': 60, '优秀': 22, '不合格': 8}\n", + "25-29 {'良好': 24, '合格': 32, '不合格': 3, '优秀': 14}\n", + "30-34 {'不合格': 3, '优秀': 6, '合格': 11, '良好': 15}\n", + "35-39 {'合格': 5, '不合格': 2, '良好': 13, '优秀': 6}\n", + "40-44 {'良好': 6, '合格': 1, '优秀': 1, '不合格': 0}\n", + "45-49 {'良好': 8, '合格': 4, '优秀': 12, '不合格': 0}\n", + "50-54 {'良好': 3, '不合格': 0, '合格': 0, '优秀': 2}\n", + "55-80 {'优秀': 1, '合格': 0, '良好': 0, '不合格': 0}\n" + ] + } + ], "source": [ "nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]\n", "\n", @@ -1312,10 +1374,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "2979cf80-5268-4754-ab8a-11a539315e92", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:23:34.098433Z", + "iopub.status.busy": "2024-10-21T10:23:34.097610Z", + "iopub.status.idle": "2024-10-21T10:23:34.122033Z", + "shell.execute_reply": "2024-10-21T10:23:34.121496Z", + "shell.execute_reply.started": "2024-10-21T10:23:34.098351Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "20-24 {'良好': 97, '合格': 177, '优秀': 38, '不合格': 53}\n", + "25-29 {'良好': 57, '合格': 97, '不合格': 21, '优秀': 21}\n", + "30-34 {'不合格': 15, '优秀': 13, '合格': 43, '良好': 29}\n", + "35-39 {'合格': 57, '不合格': 11, '良好': 45, '优秀': 22}\n", + "40-44 {'良好': 27, '合格': 18, '优秀': 12, '不合格': 2}\n", + "45-49 {'良好': 26, '合格': 28, '优秀': 17, '不合格': 1}\n", + "50-54 {'良好': 33, '不合格': 10, '合格': 29, '优秀': 16}\n", + "55-80 {'优秀': 12, '合格': 23, '良好': 19, '不合格': 5}\n" + ] + } + ], "source": [ "nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]\n", "\n", @@ -1355,10 +1440,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "8a7cb3b0-d7be-44ac-a1ec-40bdcf29e83b", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:23:36.388594Z", + "iopub.status.busy": "2024-10-21T10:23:36.387775Z", + "iopub.status.idle": "2024-10-21T10:23:36.412937Z", + "shell.execute_reply": "2024-10-21T10:23:36.412350Z", + "shell.execute_reply.started": "2024-10-21T10:23:36.388516Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "16~24岁平均成绩:3.11分,人数:484人,男性:365人\n", + "25~29岁平均成绩:3.16分,人数:269人,男性:196人\n", + "30~34岁平均成绩:3.15分,人数:135人,男性:100人\n", + "35~39岁平均成绩:3.3分,人数:161人,男性:135人\n", + "40~44岁平均成绩:3.39分,人数:67人,男性:59人\n", + "45~49岁平均成绩:3.48分,人数:96人,男性:72人\n", + "50~54岁平均成绩:3.29分,人数:93人,男性:88人\n", + "55~69岁平均成绩:3.27分,人数:60人,男性:59人\n" + ] + } + ], "source": [ "nld = [[16,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,69]]\n", "\n", @@ -1393,10 +1501,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "c5bb03ca-b7ee-4564-b425-8513e1bff081", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:23:38.555474Z", + "iopub.status.busy": "2024-10-21T10:23:38.554694Z", + "iopub.status.idle": "2024-10-21T10:23:38.576757Z", + "shell.execute_reply": "2024-10-21T10:23:38.576066Z", + "shell.execute_reply.started": "2024-10-21T10:23:38.555406Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "20~24岁平均成绩:3.08分,人数:365人\n", + "25~29岁平均成绩:3.1分,人数:196人\n", + "30~34岁平均成绩:3.1分,人数:100人\n", + "35~39岁平均成绩:3.27分,人数:135人\n", + "40~44岁平均成绩:3.39分,人数:59人\n", + "45~49岁平均成绩:3.4分,人数:72人\n", + "50~54岁平均成绩:3.27分,人数:88人\n", + "55~80岁平均成绩:3.25分,人数:59人\n" + ] + } + ], "source": [ "import json\n", "\n", @@ -1431,10 +1562,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "bf333998-230c-4365-aadc-b0d1be073b39", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:23:40.876326Z", + "iopub.status.busy": "2024-10-21T10:23:40.875552Z", + "iopub.status.idle": "2024-10-21T10:23:40.896760Z", + "shell.execute_reply": "2024-10-21T10:23:40.896214Z", + "shell.execute_reply.started": "2024-10-21T10:23:40.876254Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "20~24岁平均成绩:3.21分,人数:119人\n", + "25~29岁平均成绩:3.32分,人数:73人\n", + "30~34岁平均成绩:3.32分,人数:35人\n", + "35~39岁平均成绩:3.44分,人数:26人\n", + "40~44岁平均成绩:3.4分,人数:8人\n", + "45~49岁平均成绩:3.73分,人数:24人\n", + "50~54岁平均成绩:3.71分,人数:5人\n", + "55~80岁平均成绩:4.0分,人数:1人\n" + ] + } + ], "source": [ "nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]\n", "\n", @@ -1467,10 +1621,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "352c6c29-8929-4210-84c5-8dbc3d5ffeee", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:23:43.229596Z", + "iopub.status.busy": "2024-10-21T10:23:43.228787Z", + "iopub.status.idle": "2024-10-21T10:23:43.252554Z", + "shell.execute_reply": "2024-10-21T10:23:43.252012Z", + "shell.execute_reply.started": "2024-10-21T10:23:43.229524Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "BMI 4.0 1364\n", + "肺活量 3.52 1364\n", + "握力 3.25 1361\n", + "坐位体前屈 2.93 1346\n", + "纵跳 3.4 1316\n", + "俯卧撑 3.65 1047\n", + "一分钟仰卧起坐 4.27 240\n", + "单脚站立 2.6 1356\n", + "选择反应时 2.88 1317\n", + "台阶指数 2.5 1286\n" + ] + } + ], "source": [ "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", @@ -1495,10 +1674,58 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "97f5a1cf-341e-4b99-9549-b6a3fb165849", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T10:29:13.377306Z", + "iopub.status.busy": "2024-10-21T10:29:13.376542Z", + "iopub.status.idle": "2024-10-21T10:29:13.404001Z", + "shell.execute_reply": "2024-10-21T10:29:13.403407Z", + "shell.execute_reply.started": "2024-10-21T10:29:13.377233Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "采购中心 3.39 20\n", + "炼油三部 3.2 30\n", + "烯烃一部 3.21 156\n", + "炼油五部 3.26 72\n", + "公用工程二部 3.26 72\n", + "合成材料部 3.12 55\n", + "质管中心 3.24 56\n", + "储运一部 3.1 82\n", + "氢能制造部 3.18 59\n", + "电气中心 3.14 45\n", + "公用工程一部 3.12 81\n", + "仪表和计量中心 3.29 81\n", + "港储部 3.13 36\n", + "炼油二部 3.28 60\n", + "消防支队 3.35 25\n", + "烯烃二部 3.03 42\n", + "炼油一部 3.29 42\n", + "事务中心 3.17 35\n", + "公司机关 3.3 102\n", + "化学制品部 3.31 43\n", + "项目管理部 3.38 19\n", + "新材料研究院 3.31 15\n", + "炼油四部 3.08 27\n", + "油库中心 3.22 25\n", + "炼油六部 3.08 34\n", + "储运二部 3.12 13\n", + "宣传部 3.11 1\n", + "财务部 3.0 1\n", + "生产部 3.04 3\n", + "发展部 2.78 4\n", + "项目部 2.7 2\n", + "炼油七部 3.25 26\n", + "公用工程五部 2.8 1\n" + ] + } + ], "source": [ "with open(filename,'r') as fl:\n", " dict1 = json.load(fl) \n", @@ -1513,8 +1740,94 @@ " for k, v in dict1.items():\n", " if item == v['unit']:\n", " score = score + v['score']\n", + " n = n +1\n", + " if n>0:\n", + " print(item,round(score/n,2),n)\n", + " else:\n", + " print(item,0,n)" + ] + }, + { + "cell_type": "markdown", + "id": "85b3a695-86db-4aec-95f4-33f3b628e548", + "metadata": {}, + "source": [ + "### 按照部门计算平均成绩(男性)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "3beaab27-ca90-4e09-b2d2-590fd7bac51d", + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T11:08:37.411743Z", + "iopub.status.busy": "2024-10-21T11:08:37.410982Z", + "iopub.status.idle": "2024-10-21T11:08:37.440585Z", + "shell.execute_reply": "2024-10-21T11:08:37.439932Z", + "shell.execute_reply.started": "2024-10-21T11:08:37.411671Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "采购中心 3.64 8\n", + "炼油三部 3.55 7\n", + "烯烃一部 3.29 28\n", + "炼油五部 3.11 16\n", + "公用工程二部 3.33 15\n", + "合成材料部 3.37 11\n", + "质管中心 3.4 13\n", + "储运一部 3.24 15\n", + "氢能制造部 3.28 13\n", + "电气中心 3.18 9\n", + "公用工程一部 3.16 18\n", + "仪表和计量中心 3.5 17\n", + "港储部 3.26 8\n", + "炼油二部 3.45 11\n", + "消防支队 3.07 4\n", + "烯烃二部 3.25 7\n", + "炼油一部 3.46 6\n", + "事务中心 3.6 7\n", + "公司机关 3.45 24\n", + "化学制品部 3.47 9\n", + "项目管理部 3.44 10\n", + "新材料研究院 3.37 3\n", + "炼油四部 3.18 4\n", + "油库中心 3.3 7\n", + "炼油六部 3.08 7\n", + "储运二部 3.45 2\n", + "宣传部 0 0\n", + "财务部 0 0\n", + "生产部 2.12 1\n", + "发展部 2.89 1\n", + "项目部 0 0\n", + "炼油七部 3.33 9\n", + "公用工程五部 2.8 1\n" + ] + } + ], + "source": [ + "with open(filename,'r') as fl:\n", + " dict1 = json.load(fl) \n", + "depart = []\n", + "for k, v in dict1.items():\n", + " if v['unit'] not in depart:\n", + " depart.append(v['unit'])\n", + "\n", + "for item in depart:\n", + " score = 0\n", + " n = 0\n", + " for k, v in dict1.items():\n", + " if item == v['unit'] and v['sex'] == '女':\n", + " score = score + v['score']\n", " n = n +1 \n", - " print(item,round(score/n,2),n)" + " if n>0:\n", + " print(item,round(score/n,2),n)\n", + " else:\n", + " print(item,0,n)" ] }, { @@ -1527,10 +1840,388 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "a959c1b8-86fc-4fca-8595-4278135e95b8", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T11:16:09.966697Z", + "iopub.status.busy": "2024-10-21T11:16:09.965947Z", + "iopub.status.idle": "2024-10-21T11:16:10.010186Z", + "shell.execute_reply": "2024-10-21T11:16:10.009636Z", + "shell.execute_reply.started": "2024-10-21T11:16:09.966621Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "采购中心\n", + "BMI 86 20\n", + "肺活量 72 20\n", + "握力 59 20\n", + "坐位体前屈 63 20\n", + "纵跳 71 20\n", + "俯卧撑 47 12\n", + "一分钟仰卧起坐 35 8\n", + "单脚站立 47 20\n", + "选择反应时 68 20\n", + "台阶指数 62 20\n", + "炼油三部\n", + "BMI 116 30\n", + "肺活量 99 30\n", + "握力 91 30\n", + "坐位体前屈 84 30\n", + "纵跳 92 29\n", + "俯卧撑 92 22\n", + "一分钟仰卧起坐 29 7\n", + "单脚站立 78 30\n", + "选择反应时 85 29\n", + "台阶指数 86 29\n", + "烯烃一部\n", + "BMI 584 156\n", + "肺活量 547 156\n", + "握力 517 156\n", + "坐位体前屈 461 153\n", + "纵跳 541 147\n", + "俯卧撑 454 123\n", + "一分钟仰卧起坐 84 21\n", + "单脚站立 401 156\n", + "选择反应时 430 151\n", + "台阶指数 363 145\n", + "炼油五部\n", + "BMI 294 72\n", + "肺活量 258 72\n", + "握力 237 72\n", + "坐位体前屈 208 72\n", + "纵跳 265 72\n", + "俯卧撑 206 56\n", + "一分钟仰卧起坐 48 12\n", + "单脚站立 182 72\n", + "选择反应时 207 68\n", + "台阶指数 173 69\n", + "公用工程二部\n", + "BMI 296 72\n", + "肺活量 238 72\n", + "握力 243 72\n", + "坐位体前屈 212 71\n", + "纵跳 226 69\n", + "俯卧撑 204 55\n", + "一分钟仰卧起坐 54 12\n", + "单脚站立 189 72\n", + "选择反应时 206 68\n", + "台阶指数 191 68\n", + "合成材料部\n", + "BMI 217 55\n", + "肺活量 186 55\n", + "握力 178 53\n", + "坐位体前屈 149 55\n", + "纵跳 180 55\n", + "俯卧撑 164 44\n", + "一分钟仰卧起坐 43 10\n", + "单脚站立 137 55\n", + "选择反应时 146 54\n", + "台阶指数 129 55\n", + "质管中心\n", + "BMI 248 56\n", + "肺活量 197 56\n", + "握力 177 56\n", + "坐位体前屈 149 55\n", + "纵跳 172 52\n", + "俯卧撑 141 39\n", + "一分钟仰卧起坐 49 11\n", + "单脚站立 136 56\n", + "选择反应时 151 50\n", + "台阶指数 141 51\n", + "储运一部\n", + "BMI 324 82\n", + "肺活量 278 82\n", + "握力 263 82\n", + "坐位体前屈 219 80\n", + "纵跳 239 78\n", + "俯卧撑 218 64\n", + "一分钟仰卧起坐 45 10\n", + "单脚站立 201 81\n", + "选择反应时 227 81\n", + "台阶指数 209 78\n", + "氢能制造部\n", + "BMI 231 59\n", + "肺活量 214 59\n", + "握力 190 59\n", + "坐位体前屈 180 59\n", + "纵跳 188 58\n", + "俯卧撑 160 45\n", + "一分钟仰卧起坐 52 13\n", + "单脚站立 160 59\n", + "选择反应时 145 55\n", + "台阶指数 147 58\n", + "电气中心\n", + "BMI 185 45\n", + "肺活量 158 44\n", + "握力 137 45\n", + "坐位体前屈 132 44\n", + "纵跳 130 42\n", + "俯卧撑 129 36\n", + "一分钟仰卧起坐 24 6\n", + "单脚站立 109 45\n", + "选择反应时 136 44\n", + "台阶指数 92 42\n", + "公用工程一部\n", + "BMI 307 81\n", + "肺活量 286 81\n", + "握力 268 81\n", + "坐位体前屈 226 80\n", + "纵跳 262 77\n", + "俯卧撑 223 63\n", + "一分钟仰卧起坐 64 16\n", + "单脚站立 194 81\n", + "选择反应时 211 77\n", + "台阶指数 173 73\n", + "仪表和计量中心\n", + "BMI 323 81\n", + "肺活量 302 81\n", + "握力 273 81\n", + "坐位体前屈 242 79\n", + "纵跳 302 81\n", + "俯卧撑 231 63\n", + "一分钟仰卧起坐 51 12\n", + "单脚站立 221 81\n", + "选择反应时 230 79\n", + "台阶指数 186 80\n", + "港储部\n", + "BMI 142 36\n", + "肺活量 133 36\n", + "握力 119 36\n", + "坐位体前屈 100 36\n", + "纵跳 114 36\n", + "俯卧撑 98 28\n", + "一分钟仰卧起坐 15 4\n", + "单脚站立 86 36\n", + "选择反应时 94 35\n", + "台阶指数 88 33\n", + "炼油二部\n", + "BMI 250 60\n", + "肺活量 211 60\n", + "握力 196 60\n", + "坐位体前屈 169 60\n", + "纵跳 203 57\n", + "俯卧撑 184 49\n", + "一分钟仰卧起坐 47 11\n", + "单脚站立 163 60\n", + "选择反应时 183 59\n", + "台阶指数 145 58\n", + "消防支队\n", + "BMI 99 25\n", + "肺活量 81 25\n", + "握力 87 25\n", + "坐位体前屈 76 25\n", + "纵跳 92 25\n", + "俯卧撑 87 20\n", + "一分钟仰卧起坐 14 3\n", + "单脚站立 70 25\n", + "选择反应时 69 25\n", + "台阶指数 72 25\n", + "烯烃二部\n", + "BMI 154 42\n", + "肺活量 149 42\n", + "握力 133 42\n", + "坐位体前屈 114 42\n", + "纵跳 132 41\n", + "俯卧撑 115 34\n", + "一分钟仰卧起坐 32 7\n", + "单脚站立 102 42\n", + "选择反应时 105 41\n", + "台阶指数 95 41\n", + "炼油一部\n", + "BMI 176 42\n", + "肺活量 140 42\n", + "握力 141 42\n", + "坐位体前屈 127 41\n", + "纵跳 129 37\n", + "俯卧撑 133 36\n", + "一分钟仰卧起坐 16 5\n", + "单脚站立 117 42\n", + "选择反应时 116 41\n", + "台阶指数 103 36\n", + "事务中心\n", + "BMI 149 35\n", + "肺活量 115 35\n", + "握力 103 35\n", + "坐位体前屈 106 34\n", + "纵跳 105 34\n", + "俯卧撑 83 27\n", + "一分钟仰卧起坐 30 6\n", + "单脚站立 99 34\n", + "选择反应时 100 33\n", + "台阶指数 72 30\n", + "公司机关\n", + "BMI 394 102\n", + "肺活量 362 102\n", + "握力 332 102\n", + "坐位体前屈 313 101\n", + "纵跳 364 101\n", + "俯卧撑 303 77\n", + "一分钟仰卧起坐 83 18\n", + "单脚站立 267 96\n", + "选择反应时 291 96\n", + "台阶指数 217 94\n", + "化学制品部\n", + "BMI 171 43\n", + "肺活量 158 43\n", + "握力 149 43\n", + "坐位体前屈 132 42\n", + "纵跳 150 42\n", + "俯卧撑 131 34\n", + "一分钟仰卧起坐 32 7\n", + "单脚站立 104 43\n", + "选择反应时 116 42\n", + "台阶指数 114 41\n", + "项目管理部\n", + "BMI 85 19\n", + "肺活量 68 19\n", + "握力 57 19\n", + "坐位体前屈 60 19\n", + "纵跳 57 18\n", + "俯卧撑 29 7\n", + "一分钟仰卧起坐 44 10\n", + "单脚站立 57 18\n", + "选择反应时 59 19\n", + "台阶指数 46 18\n", + "新材料研究院\n", + "BMI 61 15\n", + "肺活量 56 15\n", + "握力 47 15\n", + "坐位体前屈 48 15\n", + "纵跳 56 15\n", + "俯卧撑 39 12\n", + "一分钟仰卧起坐 14 3\n", + "单脚站立 45 15\n", + "选择反应时 43 15\n", + "台阶指数 37 15\n", + "炼油四部\n", + "BMI 103 27\n", + "肺活量 83 27\n", + "握力 86 27\n", + "坐位体前屈 75 27\n", + "纵跳 77 27\n", + "俯卧撑 83 23\n", + "一分钟仰卧起坐 12 3\n", + "单脚站立 78 27\n", + "选择反应时 84 27\n", + "台阶指数 61 26\n", + "油库中心\n", + "BMI 113 25\n", + "肺活量 90 25\n", + "握力 67 23\n", + "坐位体前屈 73 25\n", + "纵跳 66 23\n", + "俯卧撑 54 15\n", + "一分钟仰卧起坐 32 7\n", + "单脚站立 70 25\n", + "选择反应时 71 24\n", + "台阶指数 50 21\n", + "炼油六部\n", + "BMI 139 33\n", + "肺活量 118 34\n", + "握力 109 34\n", + "坐位体前屈 93 33\n", + "纵跳 109 32\n", + "俯卧撑 93 27\n", + "一分钟仰卧起坐 29 7\n", + "单脚站立 78 34\n", + "选择反应时 86 33\n", + "台阶指数 67 32\n", + "储运二部\n", + "BMI 45 13\n", + "肺活量 49 13\n", + "握力 45 13\n", + "坐位体前屈 39 12\n", + "纵跳 41 13\n", + "俯卧撑 37 11\n", + "一分钟仰卧起坐 8 2\n", + "单脚站立 33 13\n", + "选择反应时 35 13\n", + "台阶指数 29 13\n", + "宣传部\n", + "BMI 3 1\n", + "肺活量 4 1\n", + "握力 3 1\n", + "坐位体前屈 2 1\n", + "纵跳 4 1\n", + "俯卧撑 4 1\n", + "一分钟仰卧起坐 0 0\n", + "单脚站立 3 1\n", + "选择反应时 4 1\n", + "台阶指数 1 1\n", + "财务部\n", + "BMI 5 1\n", + "肺活量 5 1\n", + "握力 2 1\n", + "坐位体前屈 3 1\n", + "纵跳 3 1\n", + "俯卧撑 2 1\n", + "一分钟仰卧起坐 0 0\n", + "单脚站立 2 1\n", + "选择反应时 4 1\n", + "台阶指数 1 1\n", + "生产部\n", + "BMI 13 3\n", + "肺活量 11 3\n", + "握力 10 3\n", + "坐位体前屈 6 3\n", + "纵跳 7 3\n", + "俯卧撑 8 2\n", + "一分钟仰卧起坐 0 0\n", + "单脚站立 9 3\n", + "选择反应时 9 3\n", + "台阶指数 7 3\n", + "发展部\n", + "BMI 16 4\n", + "肺活量 16 4\n", + "握力 10 4\n", + "坐位体前屈 8 4\n", + "纵跳 13 4\n", + "俯卧撑 11 3\n", + "一分钟仰卧起坐 5 1\n", + "单脚站立 10 4\n", + "选择反应时 8 4\n", + "台阶指数 3 4\n", + "项目部\n", + "BMI 8 2\n", + "肺活量 7 2\n", + "握力 4 2\n", + "坐位体前屈 3 2\n", + "纵跳 3 1\n", + "俯卧撑 4 2\n", + "一分钟仰卧起坐 0 0\n", + "单脚站立 6 2\n", + "选择反应时 6 2\n", + "台阶指数 3 1\n", + "炼油七部\n", + "BMI 112 26\n", + "肺活量 102 26\n", + "握力 92 26\n", + "坐位体前屈 75 25\n", + "纵跳 82 25\n", + "俯卧撑 59 16\n", + "一分钟仰卧起坐 33 8\n", + "单脚站立 68 26\n", + "选择反应时 71 26\n", + "台阶指数 52 25\n", + "公用工程五部\n", + "BMI 3 1\n", + "肺活量 3 1\n", + "握力 3 1\n", + "坐位体前屈 0 0\n", + "纵跳 0 0\n", + "俯卧撑 0 0\n", + "一分钟仰卧起坐 0 0\n", + "单脚站立 2 1\n", + "选择反应时 3 1\n", + "台阶指数 0 0\n" + ] + } + ], "source": [ "import json\n", "\n", @@ -1562,10 +2253,98 @@ " print(k1,v1['score'],v1['count'])" ] }, + { + "cell_type": "markdown", + "id": "7092779e-ce30-4d1c-8e7b-a14011daee93", + "metadata": {}, + "source": [ + "## 计算部门等级" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "81195537-5a43-4822-a1b9-a08b7baee05e", + "metadata": { + "execution": { + "iopub.execute_input": "2024-10-21T11:29:13.643629Z", + "iopub.status.busy": "2024-10-21T11:29:13.642866Z", + "iopub.status.idle": "2024-10-21T11:29:13.669706Z", + "shell.execute_reply": "2024-10-21T11:29:13.669107Z", + "shell.execute_reply.started": "2024-10-21T11:29:13.643558Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "采购中心 5 7 8 0\n", + "炼油三部 3 9 18 0\n", + "烯烃一部 31 36 74 15\n", + "炼油五部 15 22 25 10\n", + "公用工程二部 10 29 28 5\n", + "合成材料部 3 20 25 7\n", + "质管中心 8 24 17 7\n", + "储运一部 8 23 38 13\n", + "氢能制造部 10 16 27 6\n", + "电气中心 1 20 21 3\n", + "公用工程一部 12 22 34 13\n", + "仪表和计量中心 18 25 32 6\n", + "港储部 6 5 24 1\n", + "炼油二部 7 25 26 2\n", + "消防支队 6 10 7 2\n", + "烯烃二部 7 10 15 10\n", + "炼油一部 7 12 22 1\n", + "事务中心 6 10 14 5\n", + "公司机关 21 38 35 8\n", + "化学制品部 9 13 19 2\n", + "项目管理部 3 8 8 0\n", + "新材料研究院 2 8 5 0\n", + "炼油四部 3 6 14 4\n", + "油库中心 4 11 7 3\n", + "炼油六部 3 9 17 5\n", + "储运二部 1 4 7 1\n", + "宣传部 0 0 1 0\n", + "财务部 0 0 1 0\n", + "生产部 1 0 1 1\n", + "发展部 0 0 3 1\n", + "项目部 0 0 1 1\n", + "炼油七部 5 9 10 2\n", + "公用工程五部 0 0 1 0\n" + ] + } + ], + "source": [ + "import json\n", + "\n", + "items = ['优秀','良好','合格','不合格'] \n", + "filename = 'data/data_镇海.json'\n", + "with open(filename,'r') as fl:\n", + " dict1 = json.load(fl)\n", + "\n", + "\n", + "dict3 = {}\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,0)\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(v['level'],0)\n", + " dict3[unit][v['level']] +=1\n", + "for k, v in dict3.items():\n", + " print(k,v['优秀'],v['良好'],v['合格'],v['不合格'])" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "62647f93-2d98-4ab1-bd05-989c318b673d", + "id": "8fa4c148-3bba-4bb5-b140-a6f1642c42a0", "metadata": {}, "outputs": [], "source": []