This commit is contained in:
512song committed 2025-11-03 17:24:57 +08:00
1 parent 9ec7907bde
commit 45b176e01e
2 files changed
+250 -162

No files matched your search

+128 -160
View File
@@ -63,26 +63,10 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": null,
"id": "63ab2d5b-3a0a-4ac7-a3e7-b3a34e621e98",
"metadata": {
"execution": {
"iopub.execute_input": "2025-10-27T12:38:36.648112Z",
"iopub.status.busy": "2025-10-27T12:38:36.647778Z",
"iopub.status.idle": "2025-10-27T12:38:36.692128Z",
"shell.execute_reply": "2025-10-27T12:38:36.691382Z",
"shell.execute_reply.started": "2025-10-27T12:38:36.648082Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ok\n"
]
}
],
"metadata": {},
"outputs": [],
"source": [
"import json\n",
"\n",
@@ -1710,26 +1694,10 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": null,
"id": "da037e81-96a8-475e-9ad7-21ab92285b85",
"metadata": {
"execution": {
"iopub.execute_input": "2025-10-27T12:41:31.242485Z",
"iopub.status.busy": "2025-10-27T12:41:31.240445Z",
"iopub.status.idle": "2025-10-27T12:41:31.282456Z",
"shell.execute_reply": "2025-10-27T12:41:31.281601Z",
"shell.execute_reply.started": "2025-10-27T12:41:31.242428Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1383 ok\n"
]
}
],
"metadata": {},
"outputs": [],
"source": [
"import json\n",
"\n",
@@ -1762,15 +1730,15 @@
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": 27,
"id": "505fce63-ed92-4f63-82da-7207b015dab4",
"metadata": {
"execution": {
"iopub.execute_input": "2025-10-29T08:42:44.713490Z",
"iopub.status.busy": "2025-10-29T08:42:44.709542Z",
"iopub.status.idle": "2025-10-29T08:42:44.770204Z",
"shell.execute_reply": "2025-10-29T08:42:44.769358Z",
"shell.execute_reply.started": "2025-10-29T08:42:44.713433Z"
"iopub.execute_input": "2025-11-01T07:31:37.856873Z",
"iopub.status.busy": "2025-11-01T07:31:37.856270Z",
"iopub.status.idle": "2025-11-01T07:31:37.883335Z",
"shell.execute_reply": "2025-11-01T07:31:37.882723Z",
"shell.execute_reply.started": "2025-11-01T07:31:37.856814Z"
}
},
"outputs": [
@@ -1778,61 +1746,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"019698 张毅 公用工程二部\n",
"019210 张雨婷 公用工程二部\n",
"022238 赵若程 电气中心\n",
"019810 孟玫 油库中心\n",
"021551 朱浩 炼油一部\n",
"010517 胡明 烯烃一部\n",
"015967 牛姗 烯烃一部\n",
"012920 娄形宇 电气中心\n",
"019130 魏巍 电气中心\n",
"012233 方健 烯烃一部\n",
"014585 杨恒平 质管中心\n",
"012785 乐幸 烯烃一部\n",
"021124 吴焕妍 炼油二部\n",
"021532 范展鹏 储运一部\n",
"011878 王可 公用工程一部\n",
"020838 王安东 电气中心\n",
"021429 张博伟 电气中心\n",
"016333 姜媚媚 公司机关\n",
"015474 万忠荣 化学制品部\n",
"015869 李萌萌 炼油四部\n",
"007608 汪海渊 储运一部\n",
"010250 王国维 氢能制造部\n",
"019332 严偲浩 公司机关\n",
"015859 罗信 采购中心\n",
"018940 李云鹏 炼油四部\n",
"012240 邵晓 采购中心\n",
"010536 陈炜敏 采购中心\n",
"015693 邵金燕 公司机关\n",
"019268 邹兆宁 公司机关\n",
"020208 孙书伟 采购中心\n",
"019167 吴涵华 新材料研究院\n",
"012067 阮继春 炼油五部\n",
"021192 舒润发 化学制品部\n",
"015086 王东伟 公司机关\n",
"019042 李刚 储运一部\n",
"011455 任奇伟 炼油四部\n",
"014748 王静 公用工程一部\n",
"015669 周慧芬 公用工程一部\n",
"021804 蓝海涛 储运一部\n",
"020138 牛丙波 新材料研究院\n",
"023552 李宇 烯烃二部\n",
"012802 胡庆球 公司机关\n",
"019017 周靖 烯烃一部\n",
"016056 于海 储运一部\n",
"015919 冯辉 烯烃二部\n",
"019764 曹华林 油库中心\n",
"019668 覃江宜 电气中心\n",
"023169 王武 电气中心\n",
"018979 林冠宇 合成材料部\n",
"023027 邓孜瑶 炼油一部\n",
"015512 王娜 烯烃一部\n",
"020194 徐梦莹 油库中心\n",
"019760 常亚男 油库中心\n",
"020801 陈冲 炼油三部\n",
"1464 ok\n"
"1596 ok\n"
]
}
],
@@ -1862,33 +1776,47 @@
"print(len(dict1),'ok')"
]
},
{
"cell_type": "markdown",
"id": "0e9316d6-7f54-4c12-898f-11d635377059",
"metadata": {},
"source": [
"## 规范人员编号"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7f4df663-4767-4a1b-9e2f-14c97a2926f7",
"metadata": {},
"outputs": [],
"execution_count": 28,
"id": "f1aefe1c-150d-4a55-98b5-3a72e9510e5d",
"metadata": {
"execution": {
"iopub.execute_input": "2025-11-01T07:33:40.360278Z",
"iopub.status.busy": "2025-11-01T07:33:40.359732Z",
"iopub.status.idle": "2025-11-01T07:33:40.384531Z",
"shell.execute_reply": "2025-11-01T07:33:40.383953Z",
"shell.execute_reply.started": "2025-11-01T07:33:40.360223Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1596 ok\n"
]
}
],
"source": [
"import json\n",
"\n",
"filename = 'data/镇海人员2025.json'\n",
"with open(filename,'r') as fl:\n",
" dict1 = json.load(fl)\n",
"dict2 = {}\n",
"for k, v in dict1.items():\n",
" new_k = k.lower()\n",
" dict2[new_k] = v\n",
"\n",
"filename = 'data/data_镇海2025.json'\n",
"with open(filename,'r') as fl:\n",
" list1 = json.load(fl)\n",
"for item in list1:\n",
" code = item['id'].lower()\n",
" dict1[code]['name'] = item['name']\n",
" dict1[code]['sex'] = item['gender']\n",
" dict1[code]['unit'] = item['unit']\n",
" dict1[code]['birth'] = item['birth']\n",
"filename = 'data/镇海人员2025-1.json'\n",
"with open(filename, 'w') as fl:\n",
" json.dump(dict2, fl, ensure_ascii=False)\n",
" json.dump(dict1, fl, ensure_ascii=False)\n",
"print(len(dict1),'ok')"
]
},
@@ -1902,26 +1830,10 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": null,
"id": "289e4e1d-c80d-46f9-9015-fc4c139bc99d",
"metadata": {
"execution": {
"iopub.execute_input": "2025-10-29T08:50:32.458008Z",
"iopub.status.busy": "2025-10-29T08:50:32.455735Z",
"iopub.status.idle": "2025-10-29T08:50:32.674774Z",
"shell.execute_reply": "2025-10-29T08:50:32.672087Z",
"shell.execute_reply.started": "2025-10-29T08:50:32.457968Z"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1025\n"
]
}
],
"metadata": {},
"outputs": [],
"source": [
"import json\n",
"import datetime\n",
@@ -1932,7 +1844,7 @@
"filename = 'data/镇海人员2025.json'\n",
"with open(filename,'r') as fl:\n",
" dict1 = json.load(fl) \n",
"filename = 'data/marks_20251029.csv'\n",
"filename = 'data/marks_20251031.csv'\n",
"re_ta = My.get_result(filename,dict1)\n",
"\n",
"\n",
@@ -1966,13 +1878,11 @@
"filename = 'data/镇海人员2025.json'\n",
"with open(filename,'r') as fl:\n",
" dict1 = json.load(fl) \n",
"filename = 'data/marks_20251027-1.csv'\n",
"filename = 'data/marks_20251030-1.csv'\n",
"re_ta = My.get_result(filename,dict1)\n",
"\n",
"\n",
"filename = 'data/result_镇海2025.json'\n",
"with open(filename,'w') as fl:\n",
" json.dump(re_ta, fl, ensure_ascii=False) \n",
"\n",
"print(len(re_ta))"
]
},
@@ -2036,22 +1946,30 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 29,
"id": "8ed6705e-b4f6-419e-b94b-4c391fed4551",
"metadata": {},
"metadata": {
"execution": {
"iopub.execute_input": "2025-11-01T07:33:54.641236Z",
"iopub.status.busy": "2025-11-01T07:33:54.640521Z",
"iopub.status.idle": "2025-11-01T07:33:55.013934Z",
"shell.execute_reply": "2025-11-01T07:33:55.013388Z",
"shell.execute_reply.started": "2025-11-01T07:33:54.641173Z"
}
},
"outputs": [],
"source": [
"import json\n",
"import openpyxl\n",
"\n",
"items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']\n",
"items = ['lung','grip','flexion','jump','pushup','situp','balance','reaction','step']\n",
"title = ['编号','姓名','性别','单位','部门','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']\n",
"\n",
"filename = 'data/result_镇海2025.json'\n",
"with open(filename,'r') as fl:\n",
" dict1 = json.load(fl)\n",
"\n",
"filename = 'data/镇海人员2025.json'\n",
"filename = 'data/镇海人员2025-1.json'\n",
"with open(filename,'r') as fl:\n",
" dict2 = json.load(fl)\n",
" \n",
@@ -2061,7 +1979,21 @@
" 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]['unit'])\n",
" list2.append(dict2[k]['birth'])\n",
" if 'phone' in v.keys():\n",
" list2.append(dict2[k]['phone'])\n",
" else:\n",
" list2.append('')\n",
" \n",
" if 'bmi' in v.keys():\n",
" height = v['bmi']['成绩'].split(',')[0]\n",
" weight = v['bmi']['成绩'].split(',')[1]\n",
" list2.append(height)\n",
" list2.append(weight)\n",
" else:\n",
" list2.append('')\n",
" list2.append('')\n",
" for item in items:\n",
" if item in v.keys():\n",
" list2.append(v[item]['成绩']) \n",
@@ -2069,10 +2001,9 @@
" list2.append(v[item])\n",
" else:\n",
" list2.append('')\n",
" #list2.append(dict2[k]['gwxl'])\n",
" #list2.append(dict2[k]['gzz'])\n",
" \n",
" list1.append(list2)\n",
"filename = 'data/镇海体测情况表(截至20251027)-1.xlsx'\n",
"filename = 'data/镇海体测情况表(截至20251031).xlsx'\n",
"wb = openpyxl.Workbook()\n",
"sheet = wb.active\n",
"sheet.append(title)\n",
@@ -2092,17 +2023,9 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": null,
"id": "a0c85107-7c75-462c-8f77-aea787d2100f",
"metadata": {
"execution": {
"iopub.execute_input": "2025-10-29T08:51:39.051506Z",
"iopub.status.busy": "2025-10-29T08:51:39.048537Z",
"iopub.status.idle": "2025-10-29T08:51:39.126940Z",
"shell.execute_reply": "2025-10-29T08:51:39.122609Z",
"shell.execute_reply.started": "2025-10-29T08:51:39.051458Z"
}
},
"metadata": {},
"outputs": [],
"source": [
"import json\n",
@@ -2138,7 +2061,7 @@
" list2 = [k,v['人数'],v['体测人数']]\n",
" list1.append(list2)\n",
"\n",
"filename = 'data/镇海部门测试情况(截至20251029).xlsx'\n",
"filename = 'data/镇海部门测试情况(截至20251031).xlsx'\n",
"wb = openpyxl.Workbook()\n",
"sheet = wb.active\n",
"sheet.append(title)\n",
@@ -2165,10 +2088,55 @@
" i+=1"
]
},
{
"cell_type": "markdown",
"id": "0d7d8dd1-45f7-455d-8db3-38febc2a2395",
"metadata": {},
"source": [
"## 统计未体测人员明细表"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7b538b1b-9f02-4f77-82bf-f8084066003f",
"id": "cc39720e-3be5-482f-a8d1-4495cf103b4f",
"metadata": {},
"outputs": [],
"source": [
"import json\n",
"import openpyxl\n",
"\n",
"filename = 'data/result_镇海2025.json'\n",
"with open(filename,'r') as fl:\n",
" dict1 = json.load(fl)\n",
"\n",
"filename = 'data/镇海人员2025.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",
" if k not in dict1.keys():\n",
" list2 = [i,k,v['name'],v['unit']]\n",
" i+=1\n",
" list1.append(list2)\n",
"#print(list1)\n",
"filename = f'data/镇海未测试人员名单(截至20251031).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": "46fe8d42-e6cc-48aa-a398-2de65aa40d5d",
"metadata": {},
"outputs": [],
"source": []