Files
jupyter/体测单位/体检报告分析.ipynb
T
2023-10-18 05:07:12 +00:00

11 KiB

体质指标问卷导入

In [ ]:
import json

filename = 'data/淄博交警体质指标问卷.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
dict2 = {}
for items in dict1['pages']:
    for item in items['elements']:
        #print(item)
        dict2.setdefault(item['name'],{})
        name = item['name']
        dict2[name]['type'] = item['type']
        dict2[name]['title'] = item['title']['zh-cn']
        if 'isRequired' in item.keys():
            dict2[name]['isRequired'] = item['isRequired']
        else:
            dict2[name]['isRequired'] = False
        if item['type'] == 'text':
            dict2[name]['inputType'] = item['inputType']
        else:
            dict2[name]['choices'] = item['choices']
filename = 'data/淄博交警体质问卷参数.json'
with open(filename, 'w') as fl:
    json.dump(dict2, fl, ensure_ascii=False)
print('ok')

体质指标问卷整理

In [ ]:
import json

filename = 'data/淄博交警体质问卷参数.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

for k, v in dict1.items():
    if 'choices' in v.keys():
        dict2 = {}
        for item in v['choices']:
            dict2[str(item['value'])] = item['text']
        dict1[k]['choices'] = dict2
filename = 'data/淄博交警体质问卷参数.json'
with open(filename, 'w') as fl:
    json.dump(dict1, fl, ensure_ascii=False)
print('ok')

问卷数据分析

In [ ]:
import json
filename = 'data/淄博交警体质问卷参数.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

filename = 'data/Survey_20230522.json'

with open(filename,'r') as fl:
    dict2 = json.load(fl) 
for items in dict2['Survey']:
    #print(items)
    phone = items['phone']
    print(phone)
    data = json.loads(items['data'])
    for k, v in data.items():
        title = dict1[k]['title']
        if dict1[k]['type'] == 'radiogroup':
            value = dict1[k]['choices'][str(v)] 
        if dict1[k]['type'] == 'text':
            value = v
        if dict1[k]['type'] == 'checkbox':
            value = []
            for choice in v:
                value.append(dict1[k]['choices'][str(choice)]) 
        print(title,value)  

生成淄博警察人员信息汇总表

In [56]:
import openpyxl
import json
import glob,os,shutil
from pathlib2 import Path
import csv

wb = openpyxl.load_workbook('data/淄博交警支队人员名单(排序花名册).xlsx')
sheet = wb.active
# sheets = wb.sheetnames
person = {}

for n in range(2, sheet.max_row+1):
    if sheet.cell(n,2).value is None:
        break
    else:        
        phone = str(sheet.cell(n, 5).value)
        if phone in person.keys():
            print(phone,'已经存在!')
        else:
            person.setdefault(phone, {})
            dict1 = {}
            dict1['name'] = sheet.cell(n, 2).value    
            xb = str(sheet.cell(n, 3).value)
            if xb == '1':
                sex = '男'
            elif xb =='2':
                sex = '女'
            dict1['sex'] = sex
            dict1['单位'] = "交警支队"
            dict1['部门'] = sheet.cell(n, 1).value
            person[phone] = dict1
print('ok')
filename = 'data/高新区.json'
with open(filename,'r') as fl:
    dict2 = json.load(fl) 
for k,v in dict2.items():
    if 'phone' in v.keys():
        phone = str(v['phone'])
        if phone in person.keys():
            print(phone,'已经存在!')
        else:
            person.setdefault(phone, {})
            dict1 = {}
            dict1['name'] = v['name']             
            dict1['sex'] = v['sex']
            dict1['单位'] = "高新区"
            if 'unit' in v.keys():
                dict1['部门'] = v['unit']
            person[phone] = dict1
filename = 'data/淄博警察汇总.json'
with open(filename, 'w') as fl:
    json.dump(person, fl, ensure_ascii=False)
print('ok')    
13853361818 已经存在!
05332138406 已经存在!
18705333980 已经存在!
13070645243 已经存在!
18705336013 已经存在!
ok
17805337253 已经存在!
13305335697 已经存在!
18705333572 已经存在!
17805337157 已经存在!
17805337611 已经存在!
13964355603 已经存在!
17805337215 已经存在!
17805337257 已经存在!
17615773020 已经存在!
15505337203 已经存在!
13869397003 已经存在!
18053386976 已经存在!
18053386979 已经存在!
15253357267 已经存在!
15206676826 已经存在!
15265333315 已经存在!
13011637601 已经存在!
17805337235 已经存在!
13153362550 已经存在!
17685603319 已经存在!
ok

核对参加问卷人员

In [62]:
import json
import csv

filename = 'data/淄博警察汇总.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
list1 = []
filename = 'data/Survey_20230530.csv'
with open(filename,'r',newline='') as csv_file:
    fl = csv.reader(csv_file,delimiter=',')
    header = next(fl)    
    for line in fl:
        #line = re.sub('[\r\n\f ]{1,}', '', line)
        list1.append(line)
i = 0
for item in list1:
    i+=1
    phone = item[2]
    if phone in dict1.keys():
        print(i,dict1[phone]['name'],dict1[phone]['单位'])
    else:
        print(i,phone,'未有记录')
1 13718887655 未有记录
2 15210715398 未有记录
3 18600297579 未有记录
4 付峰 交警支队
5 孙长宁 交警支队
6 张学军 交警支队
7 李平 交警支队
8 谢珺扬 交警支队
9 高维成 交警支队
10 张海天 交警支队
11 董景发 交警支队
12 陈庆永 交警支队
13 魏玉兵 交警支队
14 崔瑞房 交警支队
15 韩俊达 交警支队
16 宋道军 交警支队
17 王若镔 交警支队
18 邵珠峰 交警支队
19 贾备 交警支队
20 于会萍 交警支队
21 王静 交警支队
22 15054176063 未有记录
23 高建红 交警支队
24 巩本波 交警支队
25 邵杰 交警支队
26 宋业金 交警支队
27 安兵 交警支队
28 岳科学 交警支队
29 戴维靖 交警支队
30 闫仲荣 交警支队
31 陈振国 交警支队
32 王拥军 交警支队
33 胡永吉 交警支队
34 赵军 交警支队
35 任振华 交警支队
36 魏鹂娴 交警支队
37 李春红 交警支队
38 赵书辰 交警支队
39 耿玥 交警支队
40 甘军 交警支队
41 姚秀波 交警支队
42 张言辉 交警支队
43 张明 交警支队
44 韦璟 交警支队
45 王学征 交警支队
46 孙庆章 交警支队
47 张天姿 交警支队
48 张明易 交警支队
49 王凌云 交警支队
50 魏亮 交警支队
In [ ]: