This commit is contained in:
512song committed 2022-09-18 14:27:15 +08:00
1 parent 6b2d447bf2
commit cf24b2f917
1 file changed
+220 -38
+220 -38
View File
@@ -531,6 +531,7 @@
"cell_type": "markdown", "cell_type": "markdown",
"id": "54d4790d-973f-4ee6-abff-3d5ff962de23", "id": "54d4790d-973f-4ee6-abff-3d5ff962de23",
"metadata": { "metadata": {
"jp-MarkdownHeadingCollapsed": true,
"tags": [], "tags": [],
"toc-hr-collapsed": true "toc-hr-collapsed": true
}, },
@@ -840,7 +841,10 @@
{ {
"cell_type": "markdown", "cell_type": "markdown",
"id": "95ad1920-1393-4830-a48a-540070b51a09", "id": "95ad1920-1393-4830-a48a-540070b51a09",
"metadata": {}, "metadata": {
"jp-MarkdownHeadingCollapsed": true,
"tags": []
},
"source": [ "source": [
"## 测试项目添加测试人员名单" "## 测试项目添加测试人员名单"
] ]
@@ -884,7 +888,9 @@
{ {
"cell_type": "markdown", "cell_type": "markdown",
"id": "2bb3cbdd-9fe1-4345-8c5a-53acb1a386de", "id": "2bb3cbdd-9fe1-4345-8c5a-53acb1a386de",
"metadata": {}, "metadata": {
"tags": []
},
"source": [ "source": [
"## 获取人员测试成绩" "## 获取人员测试成绩"
] ]
@@ -892,7 +898,9 @@
{ {
"cell_type": "markdown", "cell_type": "markdown",
"id": "8814b784-f561-455b-9125-b20672df2379", "id": "8814b784-f561-455b-9125-b20672df2379",
"metadata": {}, "metadata": {
"tags": []
},
"source": [ "source": [
"### 读取数据库获取人员测试成绩" "### 读取数据库获取人员测试成绩"
] ]
@@ -982,15 +990,14 @@
" dict1 = json.load(fl) \n", " dict1 = json.load(fl) \n",
"for k,v in dict1.items():\n", "for k,v in dict1.items():\n",
" item[k] = v\n", " item[k] = v\n",
"user_id = 5\n", "#SQL语句为:\n",
"place_id =130\n", "# SELECT a.item_id,a.performance,a.score,a.date AS DATE1,a.avatar_id,b.unit,b.name FROM places_result AS a,_zgshhgxs AS b WHERE a.place_id=135 AND a.avatar_id=b.id AND a.avatar_id < 4999\n",
"#user = '包永'\n",
"\n", "\n",
"re_ta = {}\n", "re_ta = {}\n",
"dict1 = {}\n", "dict1 = {}\n",
"list1 = []\n", "list1 = []\n",
"#print(\"\\n运动项目信息:\")\n", "#print(\"\\n运动项目信息:\")\n",
"filename = 'data/130.csv'\n", "filename = 'data/135.csv'\n",
"with open(filename,'r',newline='') as csv_file:\n", "with open(filename,'r',newline='') as csv_file:\n",
" fl = csv.reader(csv_file,delimiter=',')\n", " fl = csv.reader(csv_file,delimiter=',')\n",
" header = next(fl) \n", " header = next(fl) \n",
@@ -1002,25 +1009,117 @@
" user = str(result[4])\n", " user = str(result[4])\n",
" m_item = str(result[0]) \n", " m_item = str(result[0]) \n",
" re_ta.setdefault(user,{}) \n", " re_ta.setdefault(user,{}) \n",
" re_ta[user]['name'] = str(result[6])\n",
" re_ta[user]['unit'] = str(result[5])\n",
" item_name = item[m_item]['name']\n", " item_name = item[m_item]['name']\n",
" re_ta[user].setdefault(item_name,{})\n", " re_ta[user].setdefault(item_name,{}) \n",
" \n", " score = int(result[1])/item[m_item]['divisor'] \n",
" #dict1.setdefault(item[m_item]['name'],{})\n",
" score = int(result[1])/item[m_item]['divisor']\n",
" #dict1[item[m_item]['name']]['成绩'] =f'{score} {item[m_item][\"unit\"]}'\n",
" #dict1[item[m_item]['name']]['得分'] =result[2]\n",
" re_ta[user][item_name]['成绩'] = f'{score} {item[m_item][\"unit\"]}'\n", " re_ta[user][item_name]['成绩'] = f'{score} {item[m_item][\"unit\"]}'\n",
" re_ta[user][item_name]['得分'] =result[2]\n", " re_ta[user][item_name]['得分'] =result[2]\n",
" \n", "filename = 'data/result_135.json'\n",
" #re_ta[user] = dict1\n",
" #print(re_ta)\n",
"filename = 'data/result_130.json'\n",
"with open(filename,'w') as fl:\n", "with open(filename,'w') as fl:\n",
" json.dump(re_ta, fl) \n", " json.dump(re_ta, fl) \n",
"print('ok')\n", "print('ok')\n",
" " " "
] ]
}, },
{
"cell_type": "markdown",
"id": "3a8bcc00-867a-4979-a847-898b7d74ba8f",
"metadata": {
"execution": {
"iopub.execute_input": "2022-09-16T14:13:52.194299Z",
"iopub.status.busy": "2022-09-16T14:13:52.193060Z",
"iopub.status.idle": "2022-09-16T14:13:52.206727Z",
"shell.execute_reply": "2022-09-16T14:13:52.203175Z",
"shell.execute_reply.started": "2022-09-16T14:13:52.194189Z"
}
},
"source": [
"## 比照往年年度人员信息"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "db63511b-0467-4930-92fa-b0fa5c1ffde8",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import json\n",
"\n",
"filename = 'data/安庆炼化人员名单.json'\n",
"with open(filename,'r') as fl:\n",
" dict1 = json.load(fl)\n",
"filename = 'result.json'\n",
"with open(filename,'r') as fl:\n",
" dict2 = json.load(fl)\n",
"dict3 = {}\n",
"for k, v in dict2.items():\n",
" #list1 = []\n",
" dict3.setdefault(k, {})\n",
" dict3[k]['name'] = dict1[k]['name']\n",
" dict3[k]['sex'] = dict1[k]['sex']\n",
" dict3[k]['unit'] = dict1[k]['unit']\n",
" \n",
" if 'id_num' in dict1[k].keys():\n",
" dict3[k]['id'] =dict1[k]['id_num'] \n",
" else:\n",
" dict3[k]['birth'] =dict1[k]['birth']\n",
" \n",
" for k1, v1 in v.items():\n",
" \n",
" dict3[k][k1] = v1\n",
" \n",
" \n",
"filename = 'data/result_安庆.json'\n",
"with open(filename,'w') as fl:\n",
" json.dump(dict3, fl,ensure_ascii=False) \n",
"print('ok')"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "cf304279-34c9-4086-95cf-e58321dc3210",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import json\n",
"import openpyxl\n",
"\n",
"filename = 'data/result_安庆.json'\n",
"with open(filename,'r') as fl:\n",
" dict1 = json.load(fl)\n",
"dict2 = {}\n",
"filename = 'data/安庆石化2022.xlsx'\n",
"wb = openpyxl.load_workbook(filename)\n",
"sheet = wb.active\n",
"data1 =list(sheet.values)\n",
"del data1[0]\n",
"for item in data1:\n",
" id = item[5]\n",
" dict2[id] = [item[2],item[1],item[0],item[3],item[4]]\n",
"#print(dict2)\n",
"dict3 = {}\n",
"for k, v in dict1.items():\n",
" if 'id' in v.keys():\n",
" if v['id'] in dict2.keys():\n",
" v['old_code'] = int(k)\n",
" code = int(dict2[v['id']][1])\n",
" dict3.setdefault(code, {})\n",
" dict3[code] = v \n",
"filename = 'data/安庆2021.json'\n",
"with open(filename,'w') as fl:\n",
" json.dump(dict3, fl,ensure_ascii=False) \n",
"print('ok')\n",
" "
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"id": "2c1c84a7-2ca3-4d1a-ba9c-11c813875d7c", "id": "2c1c84a7-2ca3-4d1a-ba9c-11c813875d7c",
@@ -1039,16 +1138,9 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 14, "execution_count": null,
"id": "03a9d860-e343-4768-8fda-b11294fbc665", "id": "03a9d860-e343-4768-8fda-b11294fbc665",
"metadata": { "metadata": {
"execution": {
"iopub.execute_input": "2022-09-12T00:14:20.615027Z",
"iopub.status.busy": "2022-09-12T00:14:20.613727Z",
"iopub.status.idle": "2022-09-12T00:14:22.286149Z",
"shell.execute_reply": "2022-09-12T00:14:22.283937Z",
"shell.execute_reply.started": "2022-09-12T00:14:20.614914Z"
},
"tags": [] "tags": []
}, },
"outputs": [], "outputs": [],
@@ -1058,7 +1150,7 @@
"\n", "\n",
"items = ['体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']\n", "items = ['体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']\n",
"title = ['编号','姓名','BMI','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']\n", "title = ['编号','姓名','BMI','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']\n",
"filename = 'data/result_cl.json'\n", "filename = 'data/result_135.json'\n",
"with open(filename,'r') as fl:\n", "with open(filename,'r') as fl:\n",
" dict1 = json.load(fl)\n", " dict1 = json.load(fl)\n",
"\n", "\n",
@@ -1066,16 +1158,17 @@
"for k, v in dict1.items():\n", "for k, v in dict1.items():\n",
" list2 = []\n", " list2 = []\n",
" list2.append(k)\n", " list2.append(k)\n",
" list2.append(v['name'])\n", " #list2.append(v['name'])\n",
" for item in items:\n", " for item in items:\n",
" print(item)\n",
" if item in v.keys():\n", " if item in v.keys():\n",
" list2.append(v[item][1])\n", " list2.append(v[item]['得分'])\n",
" elif item =='name':\n",
" list2.append(v[item])\n",
" else:\n", " else:\n",
" list2.append('')\n", " list2.append('') \n",
" \n",
" \n",
" list1.append(list2)\n", " list1.append(list2)\n",
"filename = '长岭体检人员得分情况表.xlsx'\n", "filename = '中石化销售得分情况表.xlsx'\n",
"wb = openpyxl.Workbook()\n", "wb = openpyxl.Workbook()\n",
"sheet = wb.active\n", "sheet = wb.active\n",
"sheet.append(title)\n", "sheet.append(title)\n",
@@ -1152,6 +1245,97 @@
"wb.save(filename) \n" "wb.save(filename) \n"
] ]
}, },
{
"cell_type": "markdown",
"id": "b633b350-3fe7-42d5-a832-b53ec1007a99",
"metadata": {},
"source": [
"## 获取单项成绩"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "957aaa4c-ef5f-4ff0-9ff4-a9a1faa8e7fd",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import json\n",
"import openpyxl\n",
"\n",
"filename = 'data/result_安庆.json'\n",
"with open(filename,'r') as fl:\n",
" dict1 = json.load(fl)\n",
"list1 = []\n",
"title = ['测试编号','姓名','性别','部门','BMI得分']\n",
"for k, v in dict1.items():\n",
" #print(k)\n",
" if '体重' in v.keys() and v['体重']['得分'] is not None and v['体重']['得分'] < 3 :\n",
" #print(k,v['体重']['得分'])\n",
" list1.append([k,v['name'],v['sex'],v['unit'],v['体重']['得分']])\n",
"#print(list1)\n",
"filename = 'data/安庆BMI不合格人员.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": "3a0188f1-bddf-4465-a886-e4b39f68a4fd",
"metadata": {},
"source": [
"## 获取BMI值"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "79b0ec91-e7c3-434c-afde-34a26d286a8d",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import json\n",
"import openpyxl\n",
"\n",
"filename = 'data/result_安庆.json'\n",
"with open(filename,'r') as fl:\n",
" dict1 = json.load(fl)\n",
"list1 = []\n",
"title = ['测试编号','姓名','性别','部门','BMI得分','BMI值','超重参考']\n",
"for k, v in dict1.items():\n",
" #print(k)\n",
" if '体重' in v.keys() and v['体重']['得分'] is not None and v['体重']['得分'] < 3 :\n",
" h = v['身高']['成绩'].split(' ')[0]\n",
" w = v['体重']['成绩'].split(' ')[0]\n",
" bmi = float(w)/(float(h)/100)**2\n",
" #print(k,v['name'],h,w,bmi)\n",
" if bmi > 22.00: \n",
" if bmi >=24.00 and bmi<28.00:\n",
" pd = '偏胖'\n",
" if bmi >=28:\n",
" pd = '肥胖'\n",
" s = \"{:.2f}\".format(bmi)\n",
" print(k,v['体重']['得分'],s,pd)\n",
" list1.append([k,v['name'],v['sex'],v['unit'],v['体重']['得分'],s,pd])\n",
"filename = 'data/安庆BMI不合格人员.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", "cell_type": "markdown",
"id": "95df2637-7898-4446-bb8a-70d881bd9e44", "id": "95df2637-7898-4446-bb8a-70d881bd9e44",
@@ -1224,7 +1408,7 @@
"import json\n", "import json\n",
"import openpyxl\n", "import openpyxl\n",
"\n", "\n",
"filename = 'data/result_130.json'\n", "filename = 'data/result_cl.json'\n",
"with open(filename,'r') as fl:\n", "with open(filename,'r') as fl:\n",
" dict1 = json.load(fl)\n", " dict1 = json.load(fl)\n",
"list1 = []\n", "list1 = []\n",
@@ -1248,7 +1432,7 @@
" col1[item] = s[n+1]\n", " col1[item] = s[n+1]\n",
" n += 2\n", " n += 2\n",
"#print(col)\n", "#print(col)\n",
"filename = 'data/130人员得分情况表.xlsx'\n", "filename = 'data/cl人员得分情况表.xlsx'\n",
"wb = openpyxl.Workbook()\n", "wb = openpyxl.Workbook()\n",
"sheet = wb.active\n", "sheet = wb.active\n",
"sheet['A1'] = '测试编号'\n", "sheet['A1'] = '测试编号'\n",
@@ -1477,13 +1661,11 @@
"outputs": [], "outputs": [],
"source": [ "source": [
"import json\n", "import json\n",
"filename = 'item.json'\n", "filename = 'data/result_135.json'\n",
"item = {}\n", "item = {}\n",
"with open(filename,'r') as fl:\n", "with open(filename,'r') as fl:\n",
" dict1 = json.load(fl) \n", " dict1 = json.load(fl) \n",
"for k,v in dict1.items():\n", "print(len(dict1))"
" item[k] = v\n",
"print(item['1'])"
] ]
}, },
{ {