Files
jupyter/体测单位/燕山石化.ipynb
T
2023-06-15 19:56:21 +08:00

110 KiB

基础信息管理

导入人员信息

In [ ]:
import openpyxl
import json


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,1).value is not None:
        code = int(sheet.cell(n, 1).value)
        person.setdefault(code, {})
        dict1 = {}
        dict1['name'] = sheet.cell(n, 2).value
        if sheet.cell(n, 7).value ==1:
            sex = '男'
        else:
            sex = '女'
        dict1['sex'] = sheet.cell(n, 3).value
        birth = str(sheet.cell(n, 6).value).split()[0]
        dict1['birth'] = birth
        if sheet.cell(n,5).value is not None:
            dict1['phone'] = sheet.cell(n, 5).value
        if sheet.cell(n,7).value is not None:
            dict1['id_num'] = sheet.cell(n, 7).value
        if sheet.cell(n,8).value is not None:
            dict1['SAP'] = sheet.cell(n, 8).value
        if sheet.cell(n,9).value is not None:
            dict1['工作单位'] = sheet.cell(n, 9).value
        if sheet.cell(n,10).value is not None:
            dict1['车间'] = sheet.cell(n, 10).value
        else:
            dict1['车间'] =''
        if sheet.cell(n,11).value is not None:
            dict1['班组'] = sheet.cell(n, 11).value
        else:
            dict1['班组'] =''
        if sheet.cell(n,12).value is not None:
            dict1['工作性质'] = sheet.cell(n, 11).value
        person[code] = dict1
#jianyuan = [6484,7110,6441,6541,6543,6549,6555,6600,2958,2981,3033,3231,3249,3287,3228,7741,7749,7794,7799,7806,7837,7863,7870,7880,7894,7895,7904,7936,7947,7953,7958,7968,7969,7974,8086,8114]

print(len(person))
#for k in jianyuan:
#    if k in person.keys():
#        del person[k]
print(len(person))
#bianwai =[449,6839]
#for i in range(7139,7200):
#    bianwai.append(i)
#for k in bianwai:
#    if k in person.keys():
#        del person[k]
print(len(person))
filename = 'data/燕山石化人员名单.json'
with open(filename, 'w') as fl:
    json.dump(person, fl, ensure_ascii=False)
print('ok')

每日成绩导入

In [ ]:
import json
import time
import csv

filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for k,v in dict1.items():
    item[k] = v
re_ta = {}
dict1 = {}
list1 = []
filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

filename = 'data/places_result_20230517.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)
#print(list1)
for result in list1:
    user = str(result[2])
    if user in dict1.keys():        
        m_item = str(result[3])    
        re_ta.setdefault(user,{})    
        re_ta[user]['name'] = dict1[user]['name']
        re_ta[user]['sex'] = dict1[user]['sex'] 
        re_ta[user]['部门'] = dict1[user]['工作单位']
        item_name = item[m_item]['name']
        re_ta[user].setdefault(item_name,{})  
        score = int(result[4])/item[m_item]['divisor']    
        re_ta[user][item_name]['成绩'] = f'{score} {item[m_item]["unit"]}'
print(len(re_ta))
filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict2 = json.load(fl)
for k in re_ta.keys():
    if k in dict2.keys():
        print(k,dict2[k]['name'],'已测试!')
for k, v in re_ta.items():
    if k not in dict2.keys():
        dict2[k] = v
    else:
        for k1,v1 in v.items():
            dict2[k][k1] = v1
filename = 'data/result_燕山石化(20230517).json'
with open(filename,'w') as fl:
    json.dump(re_ta, fl, ensure_ascii=False) 
print(len(re_ta))
filename = 'data/result_燕山石化.json'
with open(filename,'w') as fl:
    json.dump(dict2, fl, ensure_ascii=False) 
print(len(dict2))

每日成绩导出

In [ ]:
import json
import openpyxl

items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','性别','单位','车间','班组','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']

filename = 'data/result_燕山石化(20230517).json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)

filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict2 = json.load(fl)
    
list1 = []
for k, v in dict1.items():
    list2 = []
    list2.append(str(k).rjust(5,'0'))
    list2.append(v['name'])    
    list2.append(dict2[k]['sex'])
    list2.append(dict2[k]['工作单位'])    
    list2.append(dict2[k]['车间'])
    list2.append(dict2[k]['班组'])
    for item in items:
        if item in v.keys():
            list2.append(v[item]['成绩'])            
        elif item =='name':
            list2.append(v[item])
        else:
            list2.append('') 
    list1.append(list2)
filename = 'data/燕山石化体测情况表(20230517).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
    sheet.append(row)
    
wb.save(filename)

总成绩导出

In [ ]:
import json
import openpyxl

items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','性别','单位','车间','班组','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']

filename = 'data/result_燕山石化-all.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)

filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict2 = json.load(fl)
    
list1 = []
for k, v in dict1.items():
    list2 = []
    list2.append(str(k).rjust(5,'0'))
    list2.append(v['name'])    
    list2.append(dict2[k]['sex'])
    list2.append(dict2[k]['工作单位'])    
    list2.append(dict2[k]['车间'])
    list2.append(dict2[k]['班组'])
    for item in items:
        if item in v.keys():
            list2.append(v[item]['成绩'])            
        elif item =='name':
            list2.append(v[item])
        else:
            list2.append('') 
    list1.append(list2)
filename = 'data/燕山石化体测情况表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
    sheet.append(row)
    
wb.save(filename)

统计部门测试人数

In [ ]:
import json
import openpyxl

filename = 'data/result_燕山石化(20230516).json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
dict2 = {}
for k, v in dict1.items():
    unit = v['部门']
    dict2.setdefault(unit,0)
    dict2[unit] = dict2[unit] + 1
print(dict2)
title =['单位','体测人数']
list1 = [] 
for k, v in dict2.items():
    list2 = []
    list2 = [k,v]
    list1.append(list2)
filename = 'data/燕山石化部门测试人数情况表(20230516).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
    sheet.append(row)
    
wb.save(filename)

每日未测试人员情况表

In [ ]:
import json
import openpyxl


title = ['编号','姓名','性别','单位','车间','班组']
filename = 'data/result_燕山石化(20230417).json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)

filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict2 = json.load(fl)
list1 = []
for k, v in dict2.items():
    list2 = []
    if k not in dict1.keys():
        list2.append(str(k).rjust(5,'0'))
        list2.append(v['name'])    
        list2.append(dict2[k]['sex'])
        list2.append(dict2[k]['工作单位'])    
        list2.append(dict2[k]['车间'])
        list2.append(dict2[k]['班组'])
        list1.append(list2)
filename = 'data/燕山石化未体测人员名单(20230417).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
    sheet.append(row)
    
wb.save(filename)        

汇总未测试人员情况表

In [ ]:
import json
import openpyxl


title = ['编号','姓名','性别','单位','车间','班组']
filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
# 筛选重名剔除名单
chongming = []
filename = 'data/燕山石化重名人员测试情况(20230515).xlsx'
wb = openpyxl.load_workbook(filename)
sheet = wb.active
for n in range(1, sheet.max_row+1,2):
    if sheet.cell(n,1).value is not None:
        code1 = int(sheet.cell(n, 1).value)
        code2 = int(sheet.cell(n+1, 1).value)
        bz1 = sheet.cell(n, 4).value
        bz2 = sheet.cell(n+1, 4).value
        if bz1 =='否' and bz2 =='否':
            chongming.append(max(code1,code2))
        else:
            chongming.append(code1)
            chongming.append(code2)

filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict2 = json.load(fl)
list1 = []
for k, v in dict2.items():
    list2 = []
    if k not in dict1.keys() and int(k) not in chongming:
        list2.append(str(k).rjust(5,'0'))
        list2.append(v['name'])    
        list2.append(dict2[k]['sex'])
        list2.append(dict2[k]['工作单位'])    
        list2.append(dict2[k]['车间'])
        list2.append(dict2[k]['班组'])
        list1.append(list2)
filename = 'data/燕山石化未体测人员名单(截至20230516).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
    sheet.append(row)
wb.save(filename)

统计测试项目不足人员

In [ ]:
import json
import openpyxl

items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','性别','单位','车间','班组','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)

filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict2 = json.load(fl)
dict3 = {}
for k, v in dict1.items():
    list1 = []
    for item in v.keys():
        if item in items:
            list1.append(item)
    dict3[k] = list1
list1 = []
for k, v in dict3.items():
    if len(v)<4 and '身高' in v and '体重' in v or ((len(v)<3 and '身高' not in v and '体重' not in v)):
        list2 = []
        xm = ','.join(v)
        list2.append(k)
        list2.append(dict2[k]['name'])
        list2.append(dict2[k]['工作单位'])
        list2.append(xm)
        list1.append(list2)
print(list1)
filename = 'data/燕山石化测试项目不足人员.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
#sheet.append(title)
for row in list1:
    sheet.append(row)
    
wb.save(filename)       

汇总成绩导入

In [ ]:
import json
import time
import csv

filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for k,v in dict1.items():
    item[k] = v
re_ta = {}
dict1 = {}
list1 = []
filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

filename = 'data/places_result_20230526.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)
#print(list1)
for result in list1:
    user = str(result[2])
    if user in dict1.keys():        
        m_item = str(result[3])    
        re_ta.setdefault(user,{})    
        re_ta[user]['name'] = dict1[user]['name']
        re_ta[user]['sex'] = dict1[user]['sex'] 
        re_ta[user]['部门'] = dict1[user]['工作单位']
        item_name = item[m_item]['name']
        re_ta[user].setdefault(item_name,{})  
        score = int(result[4])/item[m_item]['divisor']    
        re_ta[user][item_name]['成绩'] = f'{score} {item[m_item]["unit"]}'
print(len(re_ta))

filename = 'data/result_燕山石化.json'
with open(filename,'w') as fl:
    json.dump(re_ta, fl, ensure_ascii=False) 
print(len(re_ta))

统计测试人数

In [ ]:
import json
import time
import csv

person = set()
filename = 'data/places_result_20230526.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)
#print(list1)
filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 

for result in list1:
    user = str(result[2])
    if user in dict1.keys():
        person.add(user)

print(len(person))

统计重复人员信息

In [ ]:
import json
import time
import csv


list1 = []
list2 = set()
filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
filename = 'data/result_燕山石化-all.json'
with open(filename,'r') as fl:
    dict2 = json.load(fl) 

for k,v in dict1.items():
    name = v['name']
    if name in list1:
        list2.add(name)
    list1.append(name)
list3 = []
for item in list2:
    for k,v in dict1.items():
        if v['name'] == item:
            list3.append([k,v['name'],v['sex'],v['birth']])
filename = 'data/燕山石化重名人员名单.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
#sheet.append(title)
for row in list3:
    sheet.append(row)
    
wb.save(filename)        

重复人员测试情况

In [ ]:
import json
import time
import csv


list1 = []
list2 = set()
filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict2 = json.load(fl) 


list3 = []

filename = 'data/燕山石化重名人员名单.xlsx'
wb = openpyxl.load_workbook(filename)
sheet = wb.active
# sheets = wb.sheetnames


for n in range(1, sheet.max_row+1):
    if sheet.cell(n,1).value is not None:
        code = int(sheet.cell(n, 1).value)
        name = dict1[str(code)]['name']
        unit = dict1[str(code)]['工作单位']
        if str(code) in dict2.keys():
            ce = '是'
        else:
            ce = '否'
        list3.append([code,name,unit,ce])
filename = 'data/燕山石化重名人员测试情况(20230516).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
#sheet.append(title)
for row in list3:
    sheet.append(row)
    
wb.save(filename)        

统计部门测试情况

In [ ]:
import json
import openpyxl
filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict3 = json.load(fl)
dict2 = {}
for k, v in dict1.items():
    unit = v['工作单位']
    dict2.setdefault(unit,0)
    dict2[unit] = dict2[unit] + 1
dict4 = {}
for k, v in dict3.items():
    unit = v['部门']
    dict4.setdefault(unit,0)
    dict4[unit] = dict4[unit] + 1
list1 = []
for k, v in dict2.items():
    list2 = []
    list2.append(k)
    list2.append(v)
    if k in dict4.keys():
        list2.append(dict4[k])
    else:
        list2.append(0)
    list1.append(list2)
print(list1)
filename = 'data/燕山石化部门测试情况(截止5月6日).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
#sheet.append(title)
for row in list1:
    sheet.append(row)
    
wb.save(filename)       
In [ ]:
#C2EDC1A2D1C7
gbs = 'C2EDC1A2D1C7'
import binascii
bs = binascii.a2b_hex(gbs)
print('bs', bs)
print('decode-bs:', bs.decode('gb2312'))
In [ ]:
s = '马立亚'
gbcode = s.encode('gb2312') # 先转成 bytes格式
print('gbcode:', gbcode)
gbs = "".join([hex(ch)[2:] for ch in gbcode])  #
print('gbs:', gbs)

报告按部门分类更名

In [ ]:
import os,sys,shutil
import json
import math
import glob
from pathlib import Path

fi_path = 'file/20230530'
old = []
dict2 = {}

filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)

for k, v in dict1.items():
    m_name = v['name']
    m_depart = v['unit']    
    dict2[int(k)] = [m_name,m_depart]

fls = glob.glob(f'{fi_path}/*.pdf')

for fn in fls:
    old.append(os.path.basename(fn).split('.')[0])

for n in old:    
    o_name = f'{fi_path}/{n}.pdf'
    new_path = Path(fi_path,'new',dict1[n]['unit'])
    new_path.mkdir(parents = True, exist_ok = True)
    n_name = Path(new_path,f'{str(n).rjust(5,"0")}-{dict2[int(n)][0]}.pdf')
    if not os.path.exists(n_name):
        shutil.copyfile(o_name,n_name)
        print(n_name)
    
print('ok')

生成电子文件明细表

In [3]:
import os,sys,shutil
import json
import openpyxl
import glob
from pathlib import Path

fi_path = 'file/20230530'
old = []
dict2 = {}
list1 = []

filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)

for k, v in dict1.items():    
    m_name = v['name']
    m_depart = v['unit']    
    dict2[int(k)] = [m_name,m_depart]
    list1.append([k.rjust(5,"0"),m_depart,m_name])
filename = 'data/燕山石化体测报告明细表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active

for row in list1:
    sheet.append(row)
wb.save(filename)

数据分析

单位综合数据分析

获取清理后数据

In [ ]:
import json
import time
import csv

filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for k,v in dict1.items():
    item[k] = v
filename = 'data/燕山石化人员名单.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)

re_ta = {}
list1 = []
#print("\n运动项目信息:")
filename = 'data/places_result_20230527.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)
#print(list1)
for result in list1:
    user = str(result[2])
    if user in dict1.keys():        
        m_item = str(result[3])    
        re_ta.setdefault(user,{})    
        re_ta[user]['name'] = dict1[user]['name']
        re_ta[user]['unit'] = dict1[user]['工作单位']
        re_ta[user]['sex'] = dict1[user]['sex']
        re_ta[user]['birth'] = dict1[user]['birth'].replace('-','/')
        item_name = item[m_item]['name']
        re_ta[user].setdefault(item_name,{})  
        score = int(result[4])/item[m_item]['divisor']    
        re_ta[user][item_name]['成绩'] = f'{score} {item[m_item]["unit"]}'
        re_ta[user][item_name]['得分'] =result[5]
filename = 'data/result_燕山石化1.json'
print(len(re_ta))
liwai = []
for k, v in re_ta.items():
    if (len(v)<8 and '身高' in v and '体重' in v) or (len(v)<7 and '身高' not in v and '体重' not in v) :
        liwai.append(k)
print(liwai)
for k in liwai:
    del re_ta[k]
print(len(re_ta))
filename = 'data/result_燕山石化.json'
with open(filename,'w') as fl:
    json.dump(re_ta, fl) 
print('ok')
print(len(re_ta))

计算人员年龄

In [ ]:
import json
import datetime

filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
for k, v in dict1.items():    
    birth = v['birth'].split()[0].split('/')    
    nian = int(birth[0].strip())
    yue = int(birth[1].strip())
    ri = int(birth[2].strip())
    #print(k,nian,yue,ri)
    days = (datetime.date(2023, 5, 18)-datetime.date(nian,yue,ri)).days
    v['age'] = round(days/365)
filename = 'data/result_燕山石化.json'
with open(filename,'w') as fl:
    json.dump(dict1, fl) 
print('ok')    
In [ ]:
filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
list1 = []
for k,v in dict1.items():
    if v['age'] < 19:
        print(k,v['name'],v['age'] )

汇总人员信息及成绩

In [ ]:
import json


items = ['体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']

filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for k,v in dict1.items():
    score = 0
    i = 0    
    for k1,v1 in v.items():  
        if k1 in items:
            score = score + int(v1['得分'])
            i+=1
    dict1[k]['score'] = round(score/i,2)            
filename = 'data/result_燕山石化.json'
with open(filename,'w') as fl:
    json.dump(dict1, fl) 
print('ok')

计算测试等级

In [ ]:
import json

filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
dict2 = {}
dict2['不合格'] = [0,255]
dict2['合格'] = [256,332]
dict2['良好'] = [333,367]
dict2['优秀'] = [368,500]

for k1, v1 in dict2.items():
    di = v1[0]
    gao = v1[1]
    i = 0    
    m = 0
    f = 0
    for k,v in dict1.items():
        if int(v['score']*100) in range(di,gao+1):
            dict1[k]['level'] = k1
            i+=1
            if v['sex'] == '男':
                m = m +1
            else:
                f = f+1
    print(f'{di}~{gao}分人数:{i}人,男性:{m}人,女性:{f}人')
filename = 'data/result_燕山石化.json'
with open(filename,'w') as fl:
    json.dump(dict1, fl) 
print('ok')

根据年龄汇总人员信息及成绩

In [ ]:
import json

nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,69]]
filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for item in nld:
    di = item[0]
    gao = item[1]
    i = 1
    score = 0
    m = 0
    f = 0
    for k,v in dict1.items():
        if v['age'] in range(di,gao+1):
            score = score+v['score']
            i+=1
            if v['sex'] == '男':
                m = m +1
            
    print(f'{di}~{gao}岁平均成绩:{round(score/i,2)}分,人数:{i-1}人,男性:{m}人')

根据年龄汇总人员信息及成绩(男)

In [ ]:
import json

nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]
filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for item in nld:
    di = item[0]
    gao = item[1]
    i = 1
    score = 0
    m = 0
    f = 0
    for k,v in dict1.items():
        if v['age'] in range(di,gao+1) and v['sex'] == '男':
            score = score+v['score']
            i+=1
            
            
    print(f'{di}~{gao}岁平均成绩:{round(score/i,2)}分,人数:{i-1}人')

根据年龄汇总人员信息及成绩(女)

In [ ]:
import json

nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]
filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for item in nld:
    di = item[0]
    gao = item[1]
    i = 1
    score = 0
    m = 0
    f = 0
    for k,v in dict1.items():
        if v['age'] in range(di,gao+1) and v['sex'] == '女':
            score = score+v['score']
            i+=1
            
            
    print(f'{di}~{gao}岁平均成绩:{round(score/i,2)}分,人数:{i-1}人')

计算平均成绩

In [ ]:
import json

nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]
#filename = 'data/result_石家庄.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
i = 1
m = 0
f = 0
score = 0
t_score = 0
for k,v in dict1.items():
    if v['sex'] == '男':
        m = m +1
        score = score+v['score']
print(f'平均成绩:{round(score/m,4)}分,男性:{m}人')
t_score = t_score + score
score = 0
for k,v in dict1.items():
    if v['sex'] == '女':
        f = f +1
        score = score+v['score']
print(f'平均成绩:{round(score/f,4)}分,女性:{f}人')
t_score = t_score + score
print(f'平均成绩:{round(t_score/7727,4)}分,总体:7727人')

计算测试等级

In [ ]:
import json


with open(filename,'r') as fl:
    dict1 = json.load(fl) 
dict2 = {}
dict2['不合格'] = [0,255]
dict2['合格'] = [256,332]
dict2['良好'] = [333,367]
dict2['优秀'] = [368,500]

for k1, v1 in dict2.items():
    di = v1[0]
    gao = v1[1]
    i = 0    
    m = 0
    f = 0
    for k,v in dict1.items():
        if int(v['score']*100) in range(di,gao+1):
            dict1[k]['level'] = k1
            i+=1
            if v['sex'] == '男':
                m = m +1
            else:
                f = f+1
    print(f'{di}~{gao}分人数:{i}人,男性:{m}人,女性:{f}人')
#filename = 'data/result_石家庄.json'
with open(filename,'w') as fl:
    json.dump(dict1, fl) 
print('ok')

计算各年龄段测试等级(女)

In [ ]:
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]

with open(filename,'r') as fl:
    dict1 = json.load(fl) 
dict2 = {}
dict2['不合格'] = [0,255]
dict2['合格'] = [256,332]
dict2['良好'] = [333,367]
dict2['优秀'] = [368,500]
dict3 = {}
for item in nld:
    di = item[0]
    gao = item[1]
    age = f'{di}-{gao}'
    dict3.setdefault(age,{})
    i = 0    
    m = 0
    f = 0
    for k,v in dict1.items():
        if v['age'] in range(di,gao+1):            
            dict3[age].setdefault(v['level'],0)
            if v['sex'] == '女':
                dict3[age][v['level']] = dict3[age][v['level']]+1
            
for k, v in dict3.items():
    print(k,v)

计算各年龄段测试等级(男)

In [ ]:
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]

with open(filename,'r') as fl:
    dict1 = json.load(fl) 
dict2 = {}
dict2['不合格'] = [0,255]
dict2['合格'] = [256,332]
dict2['良好'] = [333,367]
dict2['优秀'] = [368,500]
dict3 = {}
for item in nld:
    di = item[0]
    gao = item[1]
    age = f'{di}-{gao}'
    dict3.setdefault(age,{})
    i = 0    
    m = 0
    f = 0
    for k,v in dict1.items():
        if v['age'] in range(di,gao+1):            
            dict3[age].setdefault(v['level'],0)
            if v['sex'] == '男':
                dict3[age][v['level']] = dict3[age][v['level']]+1
            
for k, v in dict3.items():
    print(k,v)

按照部门计算平均成绩

In [ ]:
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
depart = []
for k, v in dict1.items():
    if v['unit'] not in depart:
        depart.append(v['unit'])

for item in depart:
    score = 0
    n = 0
    for k, v in dict1.items():
        if item == v['unit']:
            score = score + v['score']
            n = n +1 
    print(item,round(score/n,2),n)
        

计算各项目成绩

In [ ]:
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
items = ['体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
for item in items:
    score = 0
    n = 0
    for k, v in dict1.items():
        if item in v.keys():
            n = n + 1
            score =score + int(v[item]['得分'])
    print(item,round(score/n,2),n)

生成倒班人员信息表

In [ ]:
import openpyxl
import json


wb = openpyxl.load_workbook('data/燕山石化人员情况表.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
daoban = {}

with open(filename,'r') as fl:
    dict1 = json.load(fl) 

for n in range(2, sheet.max_row+1):
    if sheet.cell(n,1).value is not None:
        code = int(sheet.cell(n, 1).value)
        if sheet.cell(n, 12).value == '倒班' and str(code) in dict1.keys():
            daoban[str(code)] = dict1[str(code)]

filename = 'data/daoban_燕山石化.json'
with open(filename,'w') as fl:
    json.dump(daoban, fl, ensure_ascii=False) 
print(len(daoban))        

倒班人员构成

In [ ]:
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
dict2 = {}
dict2['不合格'] = [0,255]
dict2['合格'] = [256,332]
dict2['良好'] = [333,367]
dict2['优秀'] = [368,500]

for k1, v1 in dict2.items():
    di = v1[0]
    gao = v1[1]
    i = 0    
    m = 0
    f = 0
    for k,v in dict1.items():
        if int(v['score']*100) in range(di,gao+1):
            dict1[k]['level'] = k1
            i+=1
            if v['sex'] == '男':
                m = m +1
            else:
                f = f+1
    print(f'{di}~{gao}分人数:{i}人,男性:{m}人,女性:{f}人')
filename = 'data/daoban_燕山石化.json'
with open(filename,'w') as fl:
    json.dump(dict1, fl) 
print('ok')

倒班人员年龄段成绩

In [ ]:
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]

with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for item in nld:
    di = item[0]
    gao = item[1]
    i = 1
    score = 0
    m = 0
    f = 0
    for k,v in dict1.items():
        if v['age'] in range(di,gao+1) and v['sex'] == '男':
            score = score+v['score']
            i+=1
            
            
    print(f'{di}~{gao}岁平均成绩:{round(score/i,2)}分,人数:{i-1}人')
In [ ]:
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]

with open(filename,'r') as fl:
    dict1 = json.load(fl) 
for item in nld:
    di = item[0]
    gao = item[1]
    i = 1
    score = 0
    m = 0
    f = 0
    for k,v in dict1.items():
        if v['age'] in range(di,gao+1) and v['sex'] == '女':
            score = score+v['score']
            i+=1
            
            
    print(f'{di}~{gao}岁平均成绩:{round(score/i,2)}分,人数:{i-1}人')

倒班人员测试等级

In [ ]:
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
dict2 = {}
dict2['不合格'] = [0,255]
dict2['合格'] = [256,332]
dict2['良好'] = [333,367]
dict2['优秀'] = [368,500]

for k1, v1 in dict2.items():
    di = v1[0]
    gao = v1[1]
    i = 0    
    m = 0
    f = 0
    for k,v in dict1.items():
        if int(v['score']*100) in range(di,gao+1):
            dict1[k]['level'] = k1
            i+=1
            if v['sex'] == '男':
                m = m +1
            else:
                f = f+1
    print(f'{di}~{gao}分人数:{i}人,男性:{m}人,女性:{f}人')
#filename = 'data/result_石家庄.json'
with open(filename,'w') as fl:
    json.dump(dict1, fl) 
print('ok')

倒班人员平均成绩

In [ ]:
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]
#filename = 'data/result_石家庄.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
i = 1
m = 0
f = 0
score = 0
t_score = 0
for k,v in dict1.items():
    if v['sex'] == '男':
        m = m +1
        score = score+v['score']
print(f'平均成绩:{round(score/m,4)}分,男性:{m}人')
t_score = t_score + score
score = 0
for k,v in dict1.items():
    if v['sex'] == '女':
        f = f +1
        score = score+v['score']
print(f'平均成绩:{round(score/f,4)}分,女性:{f}人')
t_score = t_score + score
print(f'平均成绩:{round(t_score/(m+f),4)}分,总体:{m+f}人')

计算倒班员工各项目成绩

In [ ]:
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
items = ['体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
for item in items:
    score = 0
    n = 0
    for k, v in dict1.items():
        if item in v.keys():
            n = n + 1
            score =score + int(v[item]['得分'])
    print(item,round(score/n,2),n)

部门数据分析

部门基础信息

In [137]:
filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
depart = []
for k, v in dict1.items():
    if v['unit'] not in depart:
        depart.append(v['unit'])
print(depart)
['热电厂工会', '炼油厂工会', '有机化工厂工会', '储运厂工会', '合成橡胶厂工会', '检验计量中心工会', '烯烃厂工会', '化学品厂工会', '合成树脂厂', '生产运行保障中心', '高科公司工会', '机关工会', '行政事务中心(离退中心)工会', '教育培训中心工会', '物装中心工会', '消防中心工会']

人员总体数据分析

In [149]:
hj = 0
for bumen in depart:    
    #bumen = '热电厂工会'
    renshu = 0
    male = 0
    female = 0
    for k,v in dict1.items():
        if v['unit'] == bumen:
            renshu = renshu+1
            if v['sex'] == '男':
                male = male+1
            else:
                female = female +1
    print(bumen,renshu,male,female)
    hj = hj+ renshu
print(hj)
热电厂工会 681 564 117
炼油厂工会 1006 755 251
有机化工厂工会 446 346 100
储运厂工会 983 807 176
合成橡胶厂工会 713 543 170
检验计量中心工会 632 311 321
烯烃厂工会 410 313 97
化学品厂工会 368 296 72
合成树脂厂 443 355 88
生产运行保障中心 371 323 48
高科公司工会 304 170 134
机关工会 378 205 173
行政事务中心(离退中心)工会 524 291 233
教育培训中心工会 72 36 36
物装中心工会 182 108 74
消防中心工会 214 203 11
7727

部门年龄构成

In [223]:
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,69]]


for bumen in depart:
    print(bumen,'年龄构成情况:')
    for item in nld:
        di = item[0]
        gao = item[1]
        i = 0
        score = 0
        m = 0
        f = 0
        for k,v in dict1.items():
            if v['unit']== bumen and v['age'] in range(di,gao+1):
                score = score+v['score']
                i+=1
                if v['sex'] == '男':
                    m = m +1
        if i > 0:
            print(f'{di}~{gao}岁平均成绩:{round(score/i,2)}分,人数:{i}人,其中男性:{m}人')
        else:
            print(f'{di}~{gao}岁平均成绩:0分,人数:{i}人,其中男性:{m}人')
    print('\n')
热电厂工会 年龄构成情况:
20~24岁平均成绩:2.31分,人数:37人,其中男性:29人
25~29岁平均成绩:2.62分,人数:20人,其中男性:14人
30~34岁平均成绩:2.42分,人数:14人,其中男性:11人
35~39岁平均成绩:2.53分,人数:36人,其中男性:24人
40~44岁平均成绩:2.55分,人数:113人,其中男性:78人
45~49岁平均成绩:2.31分,人数:162人,其中男性:125人
50~54岁平均成绩:2.4分,人数:180人,其中男性:166人
55~69岁平均成绩:2.4分,人数:119人,其中男性:117人


炼油厂工会 年龄构成情况:
20~24岁平均成绩:2.4分,人数:70人,其中男性:51人
25~29岁平均成绩:2.66分,人数:52人,其中男性:31人
30~34岁平均成绩:2.66分,人数:55人,其中男性:39人
35~39岁平均成绩:2.55分,人数:81人,其中男性:49人
40~44岁平均成绩:2.44分,人数:262人,其中男性:187人
45~49岁平均成绩:2.51分,人数:254人,其中男性:174人
50~54岁平均成绩:2.44分,人数:148人,其中男性:140人
55~69岁平均成绩:2.31分,人数:84人,其中男性:84人


有机化工厂工会 年龄构成情况:
20~24岁平均成绩:2.3分,人数:36人,其中男性:29人
25~29岁平均成绩:2.55分,人数:23人,其中男性:12人
30~34岁平均成绩:2.74分,人数:12人,其中男性:7人
35~39岁平均成绩:2.58分,人数:24人,其中男性:16人
40~44岁平均成绩:2.63分,人数:70人,其中男性:50人
45~49岁平均成绩:2.48分,人数:130人,其中男性:105人
50~54岁平均成绩:2.67分,人数:134人,其中男性:111人
55~69岁平均成绩:2.79分,人数:17人,其中男性:16人


储运厂工会 年龄构成情况:
20~24岁平均成绩:2.27分,人数:35人,其中男性:27人
25~29岁平均成绩:2.55分,人数:21人,其中男性:10人
30~34岁平均成绩:2.42分,人数:16人,其中男性:12人
35~39岁平均成绩:2.43分,人数:37人,其中男性:29人
40~44岁平均成绩:2.43分,人数:174人,其中男性:125人
45~49岁平均成绩:2.41分,人数:248人,其中男性:161人
50~54岁平均成绩:2.35分,人数:261人,其中男性:252人
55~69岁平均成绩:2.27分,人数:191人,其中男性:191人


合成橡胶厂工会 年龄构成情况:
20~24岁平均成绩:2.5分,人数:71人,其中男性:52人
25~29岁平均成绩:2.65分,人数:34人,其中男性:20人
30~34岁平均成绩:2.44分,人数:49人,其中男性:33人
35~39岁平均成绩:2.69分,人数:63人,其中男性:39人
40~44岁平均成绩:2.47分,人数:117人,其中男性:78人
45~49岁平均成绩:2.49分,人数:139人,其中男性:94人
50~54岁平均成绩:2.37分,人数:163人,其中男性:150人
55~69岁平均成绩:2.31分,人数:77人,其中男性:77人


检验计量中心工会 年龄构成情况:
20~24岁平均成绩:2.42分,人数:22人,其中男性:11人
25~29岁平均成绩:2.36分,人数:17人,其中男性:9人
30~34岁平均成绩:2.6分,人数:11人,其中男性:6人
35~39岁平均成绩:2.87分,人数:34人,其中男性:10人
40~44岁平均成绩:2.65分,人数:119人,其中男性:34人
45~49岁平均成绩:2.66分,人数:181人,其中男性:56人
50~54岁平均成绩:2.58分,人数:188人,其中男性:128人
55~69岁平均成绩:2.55分,人数:60人,其中男性:57人


烯烃厂工会 年龄构成情况:
20~24岁平均成绩:2.52分,人数:38人,其中男性:23人
25~29岁平均成绩:2.57分,人数:39人,其中男性:22人
30~34岁平均成绩:2.66分,人数:7人,其中男性:6人
35~39岁平均成绩:2.66分,人数:30人,其中男性:21人
40~44岁平均成绩:2.53分,人数:95人,其中男性:70人
45~49岁平均成绩:2.75分,人数:83人,其中男性:60人
50~54岁平均成绩:2.59分,人数:89人,其中男性:82人
55~69岁平均成绩:2.37分,人数:29人,其中男性:29人


化学品厂工会 年龄构成情况:
20~24岁平均成绩:2.39分,人数:40人,其中男性:31人
25~29岁平均成绩:2.24分,人数:37人,其中男性:28人
30~34岁平均成绩:2.37分,人数:22人,其中男性:15人
35~39岁平均成绩:2.37分,人数:26人,其中男性:16人
40~44岁平均成绩:2.48分,人数:62人,其中男性:44人
45~49岁平均成绩:2.44分,人数:53人,其中男性:40人
50~54岁平均成绩:2.33分,人数:89人,其中男性:83人
55~69岁平均成绩:2.56分,人数:39人,其中男性:39人


合成树脂厂 年龄构成情况:
20~24岁平均成绩:2.14分,人数:29人,其中男性:25人
25~29岁平均成绩:2.36分,人数:28人,其中男性:13人
30~34岁平均成绩:2.49分,人数:20人,其中男性:12人
35~39岁平均成绩:2.36分,人数:20人,其中男性:15人
40~44岁平均成绩:2.58分,人数:91人,其中男性:69人
45~49岁平均成绩:2.53分,人数:130人,其中男性:104人
50~54岁平均成绩:2.48分,人数:92人,其中男性:84人
55~69岁平均成绩:2.2分,人数:33人,其中男性:33人


生产运行保障中心 年龄构成情况:
20~24岁平均成绩:2.5分,人数:2人,其中男性:2人
25~29岁平均成绩:2.74分,人数:4人,其中男性:3人
30~34岁平均成绩:2.38分,人数:4人,其中男性:3人
35~39岁平均成绩:2.82分,人数:14人,其中男性:9人
40~44岁平均成绩:2.74分,人数:31人,其中男性:22人
45~49岁平均成绩:2.58分,人数:58人,其中男性:40人
50~54岁平均成绩:2.53分,人数:126人,其中男性:112人
55~69岁平均成绩:2.52分,人数:132人,其中男性:132人


高科公司工会 年龄构成情况:
20~24岁平均成绩:2.45分,人数:23人,其中男性:14人
25~29岁平均成绩:2.7分,人数:31人,其中男性:10人
30~34岁平均成绩:2.62分,人数:15人,其中男性:9人
35~39岁平均成绩:2.9分,人数:32人,其中男性:12人
40~44岁平均成绩:2.68分,人数:28人,其中男性:12人
45~49岁平均成绩:2.8分,人数:52人,其中男性:29人
50~54岁平均成绩:2.72分,人数:76人,其中男性:41人
55~69岁平均成绩:2.53分,人数:47人,其中男性:43人


机关工会 年龄构成情况:
20~24岁平均成绩:0分,人数:0人,其中男性:0人
25~29岁平均成绩:2.66分,人数:15人,其中男性:9人
30~34岁平均成绩:2.77分,人数:31人,其中男性:14人
35~39岁平均成绩:2.88分,人数:74人,其中男性:36人
40~44岁平均成绩:2.92分,人数:76人,其中男性:31人
45~49岁平均成绩:2.84分,人数:42人,其中男性:24人
50~54岁平均成绩:2.81分,人数:93人,其中男性:48人
55~69岁平均成绩:2.78分,人数:47人,其中男性:43人


行政事务中心(离退中心)工会 年龄构成情况:
20~24岁平均成绩:2.58分,人数:3人,其中男性:2人
25~29岁平均成绩:2.61分,人数:12人,其中男性:3人
30~34岁平均成绩:2.7分,人数:12人,其中男性:7人
35~39岁平均成绩:3.16分,人数:37人,其中男性:9人
40~44岁平均成绩:2.76分,人数:60人,其中男性:25人
45~49岁平均成绩:2.92分,人数:96人,其中男性:33人
50~54岁平均成绩:2.78分,人数:186人,其中男性:99人
55~69岁平均成绩:2.5分,人数:118人,其中男性:113人


教育培训中心工会 年龄构成情况:
20~24岁平均成绩:3.0分,人数:3人,其中男性:2人
25~29岁平均成绩:2.62分,人数:3人,其中男性:1人
30~34岁平均成绩:3.0分,人数:2人,其中男性:1人
35~39岁平均成绩:3.05分,人数:5人,其中男性:1人
40~44岁平均成绩:3.11分,人数:11人,其中男性:2人
45~49岁平均成绩:2.86分,人数:12人,其中男性:3人
50~54岁平均成绩:2.66分,人数:19人,其中男性:9人
55~69岁平均成绩:2.32分,人数:17人,其中男性:17人


物装中心工会 年龄构成情况:
20~24岁平均成绩:2.22分,人数:5人,其中男性:2人
25~29岁平均成绩:2.86分,人数:4人,其中男性:0人
30~34岁平均成绩:2.48分,人数:3人,其中男性:2人
35~39岁平均成绩:2.65分,人数:18人,其中男性:11人
40~44岁平均成绩:2.87分,人数:23人,其中男性:10人
45~49岁平均成绩:2.79分,人数:33人,其中男性:11人
50~54岁平均成绩:2.68分,人数:62人,其中男性:41人
55~69岁平均成绩:2.46分,人数:34人,其中男性:31人


消防中心工会 年龄构成情况:
20~24岁平均成绩:2.99分,人数:15人,其中男性:12人
25~29岁平均成绩:2.81分,人数:60人,其中男性:60人
30~34岁平均成绩:2.94分,人数:36人,其中男性:33人
35~39岁平均成绩:2.96分,人数:22人,其中男性:20人
40~44岁平均成绩:2.99分,人数:7人,其中男性:7人
45~49岁平均成绩:2.84分,人数:14人,其中男性:12人
50~54岁平均成绩:2.87分,人数:14人,其中男性:13人
55~69岁平均成绩:2.49分,人数:46人,其中男性:46人


部门平均成绩情况

In [229]:
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,69]]
for bumen in depart:
    print(bumen,'平均成绩情况:')
    i = 0
    m = 0
    f = 0
    score = 0
    t_score = 0
    for k,v in dict1.items():
        if v['unit']== bumen and v['sex'] == '男':
            m = m +1
            score = score+v['score']
    print(f'平均成绩:{round(score/m,4)}分,男性:{m}人')
    t_score = t_score + score
    score = 0
    for k,v in dict1.items():
        if v['unit']== bumen and v['sex'] == '女':
            f = f +1
            score = score+v['score']
    print(f'平均成绩:{round(score/f,4)}分,女性:{f}人')
    t_score = t_score + score
    print(f'平均成绩:{round(t_score/(m+f),4)}分')
    print('\n')
热电厂工会 平均成绩情况:
平均成绩:2.324分,男性:564人
平均成绩:2.8233分,女性:117人
平均成绩:2.4098分


炼油厂工会 平均成绩情况:
平均成绩:2.3999分,男性:755人
平均成绩:2.7115分,女性:251人
平均成绩:2.4776分


有机化工厂工会 平均成绩情况:
平均成绩:2.4811分,男性:346人
平均成绩:2.8975分,女性:100人
平均成绩:2.5745分


储运厂工会 平均成绩情况:
平均成绩:2.3078分,男性:807人
平均成绩:2.6554分,女性:176人
平均成绩:2.37分


合成橡胶厂工会 平均成绩情况:
平均成绩:2.3402分,男性:543人
平均成绩:2.8497分,女性:170人
平均成绩:2.4617分


检验计量中心工会 平均成绩情况:
平均成绩:2.4316分,男性:311人
平均成绩:2.7953分,女性:321人
平均成绩:2.6163分


烯烃厂工会 平均成绩情况:
平均成绩:2.5136分,男性:313人
平均成绩:2.8424分,女性:97人
平均成绩:2.5914分


化学品厂工会 平均成绩情况:
平均成绩:2.3331分,男性:296人
平均成绩:2.6631分,女性:72人
平均成绩:2.3976分


合成树脂厂 平均成绩情况:
平均成绩:2.3728分,男性:355人
平均成绩:2.8073分,女性:88人
平均成绩:2.4591分


生产运行保障中心 平均成绩情况:
平均成绩:2.5021分,男性:323人
平均成绩:2.9733分,女性:48人
平均成绩:2.5631分


高科公司工会 平均成绩情况:
平均成绩:2.5194分,男性:170人
平均成绩:2.9113分,女性:134人
平均成绩:2.6922分


机关工会 平均成绩情况:
平均成绩:2.6187分,男性:205人
平均成绩:3.0942分,女性:173人
平均成绩:2.8363分


行政事务中心(离退中心)工会 平均成绩情况:
平均成绩:2.516分,男性:291人
平均成绩:3.0667分,女性:233人
平均成绩:2.7609分


教育培训中心工会 平均成绩情况:
平均成绩:2.3817分,男性:36人
平均成绩:3.0794分,女性:36人
平均成绩:2.7306分


物装中心工会 平均成绩情况:
平均成绩:2.5006分,男性:108人
平均成绩:2.9115分,女性:74人
平均成绩:2.6677分


消防中心工会 平均成绩情况:
平均成绩:2.7924分,男性:203人
平均成绩:3.0464分,女性:11人
平均成绩:2.8054分


部门测试等级情况

In [233]:
dict2 = {}
dict2['不合格'] = [0,255]
dict2['合格'] = [256,332]
dict2['良好'] = [333,367]
dict2['优秀'] = [368,500]
for bumen in depart:
    print(bumen,'测试等级情况:')
    dict3 = {}
    for item in nld:
        di = item[0]
        gao = item[1]
        age = f'{di}-{gao}'
        dict3.setdefault(age,{})
        i = 0    
        m = 0
        f = 0
        for k,v in dict1.items():
            if v['unit']== bumen and v['age'] in range(di,gao+1):            
                dict3[age].setdefault(v['level'],0)
                if v['sex'] == '女':
                    dict3[age][v['level']] = dict3[age][v['level']]+1

    for k, v in dict3.items():
        print(k,v)
    print('\n')
热电厂工会 测试等级情况:
20-24 {'不合格': 3, '合格': 5}
25-29 {'不合格': 0, '合格': 5, '优秀': 1}
30-34 {'合格': 3, '不合格': 0}
35-39 {'合格': 7, '不合格': 3, '良好': 2}
40-44 {'不合格': 9, '合格': 19, '良好': 5, '优秀': 2}
45-49 {'不合格': 12, '合格': 17, '优秀': 2, '良好': 6}
50-54 {'不合格': 4, '合格': 4, '良好': 5, '优秀': 1}
55-80 {'合格': 0, '不合格': 0, '良好': 2}


炼油厂工会 测试等级情况:
20-24 {'不合格': 7, '合格': 11, '良好': 1}
25-29 {'不合格': 2, '合格': 13, '良好': 6}
30-34 {'不合格': 3, '合格': 7, '良好': 3, '优秀': 3}
35-39 {'不合格': 8, '合格': 19, '良好': 5}
40-44 {'不合格': 34, '合格': 30, '良好': 8, '优秀': 3}
45-49 {'不合格': 27, '合格': 43, '良好': 7, '优秀': 3}
50-54 {'不合格': 1, '良好': 2, '合格': 5, '优秀': 0}
55-80 {'不合格': 0, '合格': 0, '良好': 0, '优秀': 0}


有机化工厂工会 测试等级情况:
20-24 {'不合格': 4, '合格': 3}
25-29 {'不合格': 3, '合格': 5, '良好': 3}
30-34 {'合格': 3, '不合格': 1, '优秀': 1}
35-39 {'合格': 6, '不合格': 2, '良好': 0}
40-44 {'良好': 4, '不合格': 3, '合格': 13, '优秀': 0}
45-49 {'不合格': 7, '良好': 9, '合格': 9, '优秀': 0}
50-54 {'不合格': 1, '合格': 14, '良好': 6, '优秀': 2}
55-80 {'良好': 1, '合格': 0, '不合格': 0, '优秀': 0}


储运厂工会 测试等级情况:
20-24 {'不合格': 3, '合格': 5, '良好': 0}
25-29 {'合格': 4, '良好': 3, '不合格': 4}
30-34 {'不合格': 1, '合格': 2, '良好': 1, '优秀': 0}
35-39 {'不合格': 3, '良好': 0, '合格': 5, '优秀': 0}
40-44 {'不合格': 21, '合格': 20, '良好': 7, '优秀': 1}
45-49 {'不合格': 36, '合格': 37, '良好': 13, '优秀': 1}
50-54 {'不合格': 1, '优秀': 0, '合格': 6, '良好': 2}
55-80 {'不合格': 0, '合格': 0, '良好': 0, '优秀': 0}


合成橡胶厂工会 测试等级情况:
20-24 {'不合格': 4, '合格': 14, '优秀': 1, '良好': 0}
25-29 {'不合格': 2, '良好': 4, '合格': 7, '优秀': 1}
30-34 {'不合格': 3, '合格': 9, '良好': 4}
35-39 {'合格': 14, '良好': 4, '不合格': 5, '优秀': 1}
40-44 {'不合格': 13, '合格': 21, '良好': 4, '优秀': 1}
45-49 {'不合格': 10, '合格': 31, '良好': 1, '优秀': 3}
50-54 {'不合格': 1, '合格': 9, '良好': 3, '优秀': 0}
55-80 {'不合格': 0, '合格': 0, '良好': 0}


检验计量中心工会 测试等级情况:
20-24 {'不合格': 7, '合格': 3, '良好': 1}
25-29 {'不合格': 4, '合格': 3, '良好': 1}
30-34 {'合格': 5, '不合格': 0}
35-39 {'合格': 15, '不合格': 4, '良好': 3, '优秀': 2}
40-44 {'不合格': 24, '合格': 46, '良好': 10, '优秀': 5}
45-49 {'合格': 63, '良好': 18, '优秀': 5, '不合格': 39}
50-54 {'不合格': 10, '合格': 40, '优秀': 2, '良好': 8}
55-80 {'不合格': 0, '合格': 2, '良好': 1}


烯烃厂工会 测试等级情况:
20-24 {'合格': 9, '不合格': 6, '良好': 0}
25-29 {'合格': 9, '不合格': 6, '良好': 2}
30-34 {'不合格': 1, '良好': 0, '合格': 0}
35-39 {'不合格': 1, '合格': 6, '良好': 2, '优秀': 0}
40-44 {'不合格': 8, '合格': 11, '良好': 4, '优秀': 2}
45-49 {'合格': 11, '良好': 6, '不合格': 3, '优秀': 3}
50-54 {'合格': 4, '不合格': 2, '良好': 1, '优秀': 0}
55-80 {'合格': 0, '不合格': 0}


化学品厂工会 测试等级情况:
20-24 {'良好': 1, '不合格': 4, '合格': 4}
25-29 {'不合格': 5, '合格': 4, '良好': 0}
30-34 {'合格': 4, '不合格': 2, '良好': 1}
35-39 {'不合格': 4, '合格': 5, '良好': 1}
40-44 {'合格': 5, '不合格': 6, '优秀': 4, '良好': 3}
45-49 {'良好': 2, '不合格': 8, '合格': 3}
50-54 {'合格': 3, '不合格': 2, '良好': 1, '优秀': 0}
55-80 {'不合格': 0, '合格': 0, '良好': 0, '优秀': 0}


合成树脂厂 测试等级情况:
20-24 {'合格': 3, '不合格': 1}
25-29 {'合格': 5, '不合格': 7, '良好': 3}
30-34 {'不合格': 1, '合格': 4, '良好': 3}
35-39 {'不合格': 3, '合格': 2, '良好': 0}
40-44 {'合格': 10, '不合格': 6, '良好': 5, '优秀': 1}
45-49 {'不合格': 5, '合格': 15, '良好': 4, '优秀': 2}
50-54 {'合格': 5, '不合格': 1, '良好': 2}
55-80 {'不合格': 0, '合格': 0, '良好': 0, '优秀': 0}


生产运行保障中心 测试等级情况:
20-24 {'不合格': 0, '合格': 0}
25-29 {'良好': 1, '不合格': 0}
30-34 {'合格': 0, '不合格': 1}
35-39 {'合格': 3, '不合格': 0, '良好': 2}
40-44 {'良好': 2, '不合格': 2, '合格': 4, '优秀': 1}
45-49 {'不合格': 3, '合格': 11, '优秀': 0, '良好': 4}
50-54 {'不合格': 3, '合格': 5, '良好': 4, '优秀': 2}
55-80 {'不合格': 0, '合格': 0, '优秀': 0, '良好': 0}


高科公司工会 测试等级情况:
20-24 {'合格': 5, '不合格': 3, '优秀': 1}
25-29 {'不合格': 6, '合格': 9, '良好': 6}
30-34 {'不合格': 1, '合格': 4, '良好': 1}
35-39 {'合格': 12, '良好': 5, '不合格': 2, '优秀': 1}
40-44 {'合格': 9, '不合格': 5, '良好': 0, '优秀': 2}
45-49 {'不合格': 2, '合格': 16, '优秀': 1, '良好': 4}
50-54 {'不合格': 9, '良好': 4, '合格': 19, '优秀': 3}
55-80 {'不合格': 0, '合格': 2, '良好': 2}


机关工会 测试等级情况:
20-24 {}
25-29 {'优秀': 1, '不合格': 1, '良好': 2, '合格': 2}
30-34 {'合格': 10, '不合格': 2, '良好': 4, '优秀': 1}
35-39 {'优秀': 6, '合格': 17, '不合格': 4, '良好': 11}
40-44 {'合格': 25, '不合格': 5, '良好': 11, '优秀': 4}
45-49 {'合格': 12, '不合格': 2, '良好': 1, '优秀': 3}
50-54 {'合格': 23, '不合格': 6, '良好': 10, '优秀': 6}
55-80 {'优秀': 1, '合格': 1, '良好': 0, '不合格': 2}


行政事务中心(离退中心)工会 测试等级情况:
20-24 {'良好': 1, '不合格': 0}
25-29 {'不合格': 2, '合格': 4, '良好': 3}
30-34 {'合格': 4, '不合格': 0, '良好': 1}
35-39 {'良好': 14, '合格': 11, '优秀': 1, '不合格': 2}
40-44 {'不合格': 8, '合格': 16, '良好': 5, '优秀': 6}
45-49 {'合格': 31, '优秀': 13, '良好': 10, '不合格': 9}
50-54 {'合格': 34, '良好': 24, '不合格': 19, '优秀': 10}
55-80 {'合格': 2, '不合格': 2, '良好': 1, '优秀': 0}


教育培训中心工会 测试等级情况:
20-24 {'良好': 1, '合格': 0}
25-29 {'不合格': 1, '良好': 1}
30-34 {'合格': 0, '良好': 1}
35-39 {'合格': 3, '不合格': 0, '良好': 1}
40-44 {'优秀': 2, '不合格': 1, '合格': 4, '良好': 2}
45-49 {'不合格': 0, '合格': 6, '良好': 3}
50-54 {'合格': 6, '不合格': 2, '良好': 2}
55-80 {'不合格': 0, '合格': 0, '良好': 0}


物装中心工会 测试等级情况:
20-24 {'不合格': 2, '合格': 1}
25-29 {'合格': 4}
30-34 {'不合格': 0, '合格': 1}
35-39 {'合格': 1, '不合格': 3, '良好': 2, '优秀': 1}
40-44 {'合格': 8, '不合格': 1, '良好': 2, '优秀': 2}
45-49 {'合格': 11, '良好': 5, '不合格': 4, '优秀': 2}
50-54 {'合格': 15, '不合格': 3, '良好': 3, '优秀': 0}
55-80 {'合格': 2, '不合格': 1, '良好': 0}


消防中心工会 测试等级情况:
20-24 {'良好': 0, '合格': 2, '优秀': 1, '不合格': 0}
25-29 {'不合格': 0, '合格': 0, '良好': 0, '优秀': 0}
30-34 {'合格': 2, '不合格': 1, '良好': 0, '优秀': 0}
35-39 {'不合格': 0, '良好': 0, '合格': 2, '优秀': 0}
40-44 {'不合格': 0, '良好': 0, '合格': 0}
45-49 {'不合格': 0, '合格': 0, '良好': 2}
50-54 {'合格': 1, '良好': 0, '不合格': 0, '优秀': 0}
55-80 {'不合格': 0, '合格': 0, '良好': 0}


In [178]:
dict2 = {}
dict2['不合格'] = [0,255]
dict2['合格'] = [256,332]
dict2['良好'] = [333,367]
dict2['优秀'] = [368,500]
for bumen in depart:
    print(bumen,'测试等级情况:')
    dict3 = {}
    for k1, v1 in dict2.items():
        di = v1[0]
        gao = v1[1]
        i = 0    
        m = 0
        f = 0
        for k,v in dict1.items():
            if v['unit']== bumen and int(v['score']*100) in range(di,gao+1):
                dict1[k]['level'] = k1
                i+=1
                if v['sex'] == '男':
                    m = m +1
                else:
                    f = f+1
        print(f'{k1}人数:{i}人,男性:{m}人,女性:{f}人')
    print('\n')
热电厂工会 测试等级情况:
不合格人数:389人,男性:358人,女性:31人
合格人数:238人,男性:178人,女性:60人
良好人数:48人,男性:28人,女性:20人
优秀人数:6人,男性:0人,女性:6人


炼油厂工会 测试等级情况:
不合格人数:516人,男性:434人,女性:82人
合格人数:392人,男性:264人,女性:128人
良好人数:75人,男性:43人,女性:32人
优秀人数:23人,男性:14人,女性:9人


有机化工厂工会 测试等级情况:
不合格人数:185人,男性:164人,女性:21人
合格人数:210人,男性:157人,女性:53人
良好人数:43人,男性:20人,女性:23人
优秀人数:8人,男性:5人,女性:3人


储运厂工会 测试等级情况:
不合格人数:599人,男性:530人,女性:69人
合格人数:307人,男性:228人,女性:79人
良好人数:64人,男性:38人,女性:26人
优秀人数:13人,男性:11人,女性:2人


合成橡胶厂工会 测试等级情况:
不合格人数:366人,男性:328人,女性:38人
合格人数:284人,男性:179人,女性:105人
良好人数:50人,男性:30人,女性:20人
优秀人数:13人,男性:6人,女性:7人


检验计量中心工会 测试等级情况:
不合格人数:252人,男性:164人,女性:88人
合格人数:299人,男性:122人,女性:177人
良好人数:63人,男性:21人,女性:42人
优秀人数:18人,男性:4人,女性:14人


烯烃厂工会 测试等级情况:
不合格人数:179人,男性:152人,女性:27人
合格人数:179人,男性:129人,女性:50人
良好人数:39人,男性:24人,女性:15人
优秀人数:13人,男性:8人,女性:5人


化学品厂工会 测试等级情况:
不合格人数:214人,男性:183人,女性:31人
合格人数:118人,男性:90人,女性:28人
良好人数:29人,男性:20人,女性:9人
优秀人数:7人,男性:3人,女性:4人


合成树脂厂 测试等级情况:
不合格人数:233人,男性:209人,女性:24人
合格人数:164人,男性:120人,女性:44人
良好人数:40人,男性:23人,女性:17人
优秀人数:6人,男性:3人,女性:3人


生产运行保障中心 测试等级情况:
不合格人数:175人,男性:166人,女性:9人
合格人数:157人,男性:134人,女性:23人
良好人数:33人,男性:20人,女性:13人
优秀人数:6人,男性:3人,女性:3人


高科公司工会 测试等级情况:
不合格人数:117人,男性:89人,女性:28人
合格人数:145人,男性:69人,女性:76人
良好人数:33人,男性:11人,女性:22人
优秀人数:9人,男性:1人,女性:8人


机关工会 测试等级情况:
不合格人数:110人,男性:88人,女性:22人
合格人数:179人,男性:89人,女性:90人
良好人数:63人,男性:24人,女性:39人
优秀人数:26人,男性:4人,女性:22人


行政事务中心(离退中心)工会 测试等级情况:
不合格人数:178人,男性:136人,女性:42人
合格人数:216人,男性:114人,女性:102人
良好人数:95人,男性:36人,女性:59人
优秀人数:35人,男性:5人,女性:30人


教育培训中心工会 测试等级情况:
不合格人数:22人,男性:18人,女性:4人
合格人数:36人,男性:17人,女性:19人
良好人数:12人,男性:1人,女性:11人
优秀人数:2人,男性:0人,女性:2人


物装中心工会 测试等级情况:
不合格人数:70人,男性:56人,女性:14人
合格人数:84人,男性:41人,女性:43人
良好人数:21人,男性:9人,女性:12人
优秀人数:7人,男性:2人,女性:5人


消防中心工会 测试等级情况:
不合格人数:62人,男性:61人,女性:1人
合格人数:109人,男性:102人,女性:7人
良好人数:37人,男性:35人,女性:2人
优秀人数:6人,男性:5人,女性:1人


各项目测试情况

In [181]:
with open(filename,'r') as fl:
    dict1 = json.load(fl) 
items = ['体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
for bumen in depart:
    print(bumen,'测试等级情况:')
    for item in items:
        score = 0
        n = 0
        for k, v in dict1.items():
            if v['unit']== bumen and item in v.keys():
                n = n + 1
                score =score + int(v[item]['得分'])
        print(item,round(score/n,2),n)
    print('\n')
热电厂工会 测试等级情况:
体重 3.37 681
肺活量 2.74 674
握力 2.18 679
坐位体前屈 2.68 557
纵跳 1.71 627
俯卧撑 2.03 449
一分钟仰卧起坐 3.85 81
单脚站立 1.54 668
选择反应时 2.67 669
台阶指数 2.83 352


炼油厂工会 测试等级情况:
体重 3.29 1006
肺活量 2.94 993
握力 2.35 993
坐位体前屈 2.73 868
纵跳 1.98 951
俯卧撑 2.08 606
一分钟仰卧起坐 3.73 183
单脚站立 1.46 977
选择反应时 2.68 990
台阶指数 2.69 667


有机化工厂工会 测试等级情况:
体重 3.41 446
肺活量 3.0 446
握力 2.52 441
坐位体前屈 2.65 397
纵跳 1.89 420
俯卧撑 2.08 283
一分钟仰卧起坐 3.88 81
单脚站立 1.85 440
选择反应时 2.81 441
台阶指数 2.69 301


储运厂工会 测试等级情况:
体重 3.24 983
肺活量 2.73 975
握力 2.34 980
坐位体前屈 2.71 860
纵跳 1.5 943
俯卧撑 1.82 661
一分钟仰卧起坐 3.56 151
单脚站立 1.42 967
选择反应时 2.71 962
台阶指数 2.87 650


合成橡胶厂工会 测试等级情况:
体重 3.3 713
肺活量 2.82 711
握力 2.28 713
坐位体前屈 2.73 637
纵跳 1.91 685
俯卧撑 2.01 450
一分钟仰卧起坐 3.76 140
单脚站立 1.59 706
选择反应时 2.62 705
台阶指数 2.75 489


检验计量中心工会 测试等级情况:
体重 3.79 632
肺活量 2.84 627
握力 2.3 626
坐位体前屈 2.78 562
纵跳 1.88 611
俯卧撑 2.14 248
一分钟仰卧起坐 3.73 252
单脚站立 1.84 626
选择反应时 2.8 619
台阶指数 2.69 458


烯烃厂工会 测试等级情况:
体重 3.3 410
肺活量 3.09 407
握力 2.36 408
坐位体前屈 2.9 366
纵跳 2.01 391
俯卧撑 2.47 245
一分钟仰卧起坐 3.88 82
单脚站立 1.66 395
选择反应时 2.63 404
台阶指数 2.76 293


化学品厂工会 测试等级情况:
体重 3.13 368
肺活量 2.94 359
握力 2.42 365
坐位体前屈 2.52 322
纵跳 1.85 345
俯卧撑 1.88 241
一分钟仰卧起坐 3.66 47
单脚站立 1.49 360
选择反应时 2.58 361
台阶指数 2.63 239


合成树脂厂 测试等级情况:
体重 3.34 443
肺活量 2.87 439
握力 2.25 437
坐位体前屈 2.85 380
纵跳 1.78 420
俯卧撑 1.84 270
一分钟仰卧起坐 3.76 75
单脚站立 1.62 433
选择反应时 2.65 435
台阶指数 2.83 271


生产运行保障中心 测试等级情况:
体重 3.56 371
肺活量 3.03 366
握力 2.6 370
坐位体前屈 2.9 298
纵跳 1.56 343
俯卧撑 1.7 245
一分钟仰卧起坐 3.83 40
单脚站立 1.62 361
选择反应时 2.97 359
台阶指数 2.94 244


高科公司工会 测试等级情况:
体重 3.62 304
肺活量 3.19 301
握力 2.38 301
坐位体前屈 2.89 273
纵跳 2.11 280
俯卧撑 1.87 146
一分钟仰卧起坐 3.64 107
单脚站立 2.07 291
选择反应时 2.74 302
台阶指数 2.65 234


机关工会 测试等级情况:
体重 3.68 378
肺活量 3.45 375
握力 2.34 378
坐位体前屈 2.79 361
纵跳 2.48 363
俯卧撑 2.05 186
一分钟仰卧起坐 4.11 157
单脚站立 2.22 373
选择反应时 3.07 376
台阶指数 2.55 335


行政事务中心(离退中心)工会 测试等级情况:
体重 3.63 521
肺活量 3.2 515
握力 2.41 522
坐位体前屈 3.05 454
纵跳 2.01 497
俯卧撑 1.96 231
一分钟仰卧起坐 3.98 189
单脚站立 2.17 516
选择反应时 3.1 493
台阶指数 2.83 374


教育培训中心工会 测试等级情况:
体重 3.64 72
肺活量 3.48 71
握力 2.37 71
坐位体前屈 2.89 63
纵跳 2.13 68
俯卧撑 1.77 26
一分钟仰卧起坐 4.03 31
单脚站立 1.8 69
选择反应时 2.75 71
台阶指数 2.76 54


物装中心工会 测试等级情况:
体重 3.44 182
肺活量 3.2 179
握力 2.23 180
坐位体前屈 2.94 150
纵跳 2.04 155
俯卧撑 1.85 79
一分钟仰卧起坐 3.84 56
单脚站立 2.14 169
选择反应时 2.92 180
台阶指数 2.61 109


消防中心工会 测试等级情况:
体重 3.15 214
肺活量 3.36 213
握力 2.88 213
坐位体前屈 3.02 204
纵跳 2.48 203
俯卧撑 2.13 191
一分钟仰卧起坐 4.0 8
单脚站立 2.04 210
选择反应时 2.77 212
台阶指数 3.44 187


根据年龄汇总人员信息及成绩(男)

In [234]:

nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]
filename = 'data/result_燕山石化.json'
with open(filename,'r') as fl:
    dict1 = json.load(fl)
for bumen in depart:
    print(bumen,'测试等级情况:')
    
    for item in nld:
        di = item[0]
        gao = item[1]
        i = 0
        score = 0
        m = 0
        f = 0
        for k,v in dict1.items():
            if v['unit']== bumen and v['age'] in range(di,gao+1) and v['sex'] == '男':
                score = score+v['score']
                i+=1
        if i >0:
            print(f'{di}~{gao}岁平均成绩:{round(score/i,2)}分,人数:{i}人')
        else:
            print(f'{di}~{gao}岁平均成绩:0分,人数:0人')
    print('\n')
热电厂工会 测试等级情况:
20~24岁平均成绩:2.25分,人数:29人
25~29岁平均成绩:2.41分,人数:14人
30~34岁平均成绩:2.27分,人数:11人
35~39岁平均成绩:2.42分,人数:24人
40~44岁平均成绩:2.43分,人数:78人
45~49岁平均成绩:2.16分,人数:125人
50~54岁平均成绩:2.36分,人数:166人
55~80岁平均成绩:2.38分,人数:117人


炼油厂工会 测试等级情况:
20~24岁平均成绩:2.3分,人数:51人
25~29岁平均成绩:2.43分,人数:31人
30~34岁平均成绩:2.48分,人数:39人
35~39岁平均成绩:2.38分,人数:49人
40~44岁平均成绩:2.4分,人数:187人
45~49岁平均成绩:2.44分,人数:174人
50~54岁平均成绩:2.41分,人数:140人
55~80岁平均成绩:2.31分,人数:84人


有机化工厂工会 测试等级情况:
20~24岁平均成绩:2.29分,人数:29人
25~29岁平均成绩:2.26分,人数:12人
30~34岁平均成绩:2.56分,人数:7人
35~39岁平均成绩:2.5分,人数:16人
40~44岁平均成绩:2.51分,人数:50人
45~49岁平均成绩:2.38分,人数:105人
50~54岁平均成绩:2.6分,人数:111人
55~80岁平均成绩:2.74分,人数:16人


储运厂工会 测试等级情况:
20~24岁平均成绩:2.21分,人数:27人
25~29岁平均成绩:2.33分,人数:10人
30~34岁平均成绩:2.25分,人数:12人
35~39岁平均成绩:2.43分,人数:29人
40~44岁平均成绩:2.37分,人数:125人
45~49岁平均成绩:2.26分,人数:161人
50~54岁平均成绩:2.33分,人数:252人
55~80岁平均成绩:2.27分,人数:191人


合成橡胶厂工会 测试等级情况:
20~24岁平均成绩:2.4分,人数:52人
25~29岁平均成绩:2.38分,人数:20人
30~34岁平均成绩:2.18分,人数:33人
35~39岁平均成绩:2.52分,人数:39人
40~44岁平均成绩:2.35分,人数:78人
45~49岁平均成绩:2.33分,人数:94人
50~54岁平均成绩:2.32分,人数:150人
55~80岁平均成绩:2.31分,人数:77人


检验计量中心工会 测试等级情况:
20~24岁平均成绩:2.28分,人数:11人
25~29岁平均成绩:2.23分,人数:9人
30~34岁平均成绩:2.44分,人数:6人
35~39岁平均成绩:2.52分,人数:10人
40~44岁平均成绩:2.3分,人数:34人
45~49岁平均成绩:2.46分,人数:56人
50~54岁平均成绩:2.44分,人数:128人
55~80岁平均成绩:2.52分,人数:57人


烯烃厂工会 测试等级情况:
20~24岁平均成绩:2.44分,人数:23人
25~29岁平均成绩:2.49分,人数:22人
30~34岁平均成绩:2.71分,人数:6人
35~39岁平均成绩:2.5分,人数:21人
40~44岁平均成绩:2.46分,人数:70人
45~49岁平均成绩:2.6分,人数:60人
50~54岁平均成绩:2.57分,人数:82人
55~80岁平均成绩:2.37分,人数:29人


化学品厂工会 测试等级情况:
20~24岁平均成绩:2.32分,人数:31人
25~29岁平均成绩:2.15分,人数:28人
30~34岁平均成绩:2.17分,人数:15人
35~39岁平均成绩:2.14分,人数:16人
40~44岁平均成绩:2.29分,人数:44人
45~49岁平均成绩:2.49分,人数:40人
50~54岁平均成绩:2.31分,人数:83人
55~80岁平均成绩:2.56分,人数:39人


合成树脂厂 测试等级情况:
20~24岁平均成绩:2.03分,人数:25人
25~29岁平均成绩:2.2分,人数:13人
30~34岁平均成绩:2.06分,人数:12人
35~39岁平均成绩:2.38分,人数:15人
40~44岁平均成绩:2.52分,人数:69人
45~49岁平均成绩:2.42分,人数:104人
50~54岁平均成绩:2.44分,人数:84人
55~80岁平均成绩:2.2分,人数:33人


生产运行保障中心 测试等级情况:
20~24岁平均成绩:2.5分,人数:2人
25~29岁平均成绩:2.54分,人数:3人
30~34岁平均成绩:2.35分,人数:3人
35~39岁平均成绩:2.6分,人数:9人
40~44岁平均成绩:2.7分,人数:22人
45~49岁平均成绩:2.42分,人数:40人
50~54岁平均成绩:2.47分,人数:112人
55~80岁平均成绩:2.52分,人数:132人


高科公司工会 测试等级情况:
20~24岁平均成绩:2.28分,人数:14人
25~29岁平均成绩:2.44分,人数:10人
30~34岁平均成绩:2.52分,人数:9人
35~39岁平均成绩:2.55分,人数:12人
40~44岁平均成绩:2.53分,人数:12人
45~49岁平均成绩:2.62分,人数:29人
50~54岁平均成绩:2.59分,人数:41人
55~80岁平均成绩:2.47分,人数:43人


机关工会 测试等级情况:
20~24岁平均成绩:0分,人数:0人
25~29岁平均成绩:2.36分,人数:9人
30~34岁平均成绩:2.4分,人数:14人
35~39岁平均成绩:2.59分,人数:36人
40~44岁平均成绩:2.69分,人数:31人
45~49岁平均成绩:2.64分,人数:24人
50~54岁平均成绩:2.57分,人数:48人
55~80岁平均成绩:2.76分,人数:43人


行政事务中心(离退中心)工会 测试等级情况:
20~24岁平均成绩:2.09分,人数:2人
25~29岁平均成绩:1.81分,人数:3人
30~34岁平均成绩:2.52分,人数:7人
35~39岁平均成绩:3.03分,人数:9人
40~44岁平均成绩:2.44分,人数:25人
45~49岁平均成绩:2.47分,人数:33人
50~54岁平均成绩:2.58分,人数:99人
55~80岁平均成绩:2.48分,人数:113人


教育培训中心工会 测试等级情况:
20~24岁平均成绩:2.83分,人数:2人
25~29岁平均成绩:1.86分,人数:1人
30~34岁平均成绩:2.67分,人数:1人
35~39岁平均成绩:2.11分,人数:1人
40~44岁平均成绩:2.67分,人数:2人
45~49岁平均成绩:2.1分,人数:3人
50~54岁平均成绩:2.48分,人数:9人
55~80岁平均成绩:2.32分,人数:17人


物装中心工会 测试等级情况:
20~24岁平均成绩:2.11分,人数:2人
25~29岁平均成绩:0分,人数:0人
30~34岁平均成绩:2.17分,人数:2人
35~39岁平均成绩:2.55分,人数:11人
40~44岁平均成绩:2.49分,人数:10人
45~49岁平均成绩:2.43分,人数:11人
50~54岁平均成绩:2.59分,人数:41人
55~80岁平均成绩:2.44分,人数:31人


消防中心工会 测试等级情况:
20~24岁平均成绩:2.91分,人数:12人
25~29岁平均成绩:2.81分,人数:60人
30~34岁平均成绩:2.97分,人数:33人
35~39岁平均成绩:2.97分,人数:20人
40~44岁平均成绩:2.99分,人数:7人
45~49岁平均成绩:2.72分,人数:12人
50~54岁平均成绩:2.89分,人数:13人
55~80岁平均成绩:2.49分,人数:46人


In [ ]: