65 KiB
65 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 [73]:
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 [106]:
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))7734 ['3520', '7790', '3125', '4025', '3231', '5690', '4551'] 7727 ok 7727
In [107]:
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') ok
In [99]:
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 [108]:
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')ok
In [109]:
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')0~255分人数:3667人,男性:3136人,女性:531人 256~332分人数:3117人,男性:2033人,女性:1084人 333~367分人数:745人,男性:383人,女性:362人 368~500分人数:198人,男性:74人,女性:124人 ok
In [110]:
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}人')20~24岁平均成绩:2.4分,人数:429人,男性:312人 25~29岁平均成绩:2.58分,人数:400人,男性:245人 30~34岁平均成绩:2.6分,人数:309人,男性:210人 35~39岁平均成绩:2.7分,人数:553人,男性:317人 40~44岁平均成绩:2.57分,人数:1339人,男性:844人 45~49岁平均成绩:2.55分,人数:1687人,男性:1071人 50~54岁平均成绩:2.53分,人数:1920人,男性:1559人 55~69岁平均成绩:2.43分,人数:1090人,男性:1068人
In [111]:
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}人')20~24岁平均成绩:2.31分,人数:312人 25~29岁平均成绩:2.44分,人数:245人 30~34岁平均成绩:2.43分,人数:210人 35~39岁平均成绩:2.5分,人数:317人 40~44岁平均成绩:2.43分,人数:844人 45~49岁平均成绩:2.38分,人数:1071人 50~54岁平均成绩:2.44分,人数:1559人 55~80岁平均成绩:2.41分,人数:1068人
In [112]:
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}人')20~24岁平均成绩:2.63分,人数:117人 25~29岁平均成绩:2.8分,人数:155人 30~34岁平均成绩:2.95分,人数:99人 35~39岁平均成绩:2.95分,人数:236人 40~44岁平均成绩:2.79分,人数:495人 45~49岁平均成绩:2.84分,人数:616人 50~54岁平均成绩:2.94分,人数:361人 55~80岁平均成绩:2.91分,人数:22人
In [113]:
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人')平均成绩:2.4206分,男性:5626人 平均成绩:2.859分,女性:2101人 平均成绩:2.5398分,总体:7727人
In [114]:
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')0~255分人数:3667人,男性:3136人,女性:531人 256~332分人数:3117人,男性:2033人,女性:1084人 333~367分人数:745人,男性:383人,女性:362人 368~500分人数:198人,男性:74人,女性:124人 ok
In [115]:
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)20-24 {'不合格': 44, '合格': 65, '良好': 5, '优秀': 3}
25-29 {'不合格': 43, '良好': 35, '合格': 74, '优秀': 3}
30-34 {'不合格': 17, '合格': 58, '良好': 19, '优秀': 5}
35-39 {'不合格': 44, '合格': 128, '良好': 52, '优秀': 12}
40-44 {'良好': 72, '不合格': 146, '合格': 241, '优秀': 36}
45-49 {'不合格': 167, '合格': 316, '优秀': 38, '良好': 95}
50-54 {'不合格': 65, '合格': 193, '良好': 77, '优秀': 26}
55-80 {'合格': 9, '不合格': 5, '优秀': 1, '良好': 7}
In [116]:
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)20-24 {'不合格': 204, '合格': 96, '良好': 11, '优秀': 1}
25-29 {'不合格': 140, '良好': 19, '合格': 84, '优秀': 2}
30-34 {'不合格': 111, '合格': 81, '良好': 15, '优秀': 3}
35-39 {'不合格': 161, '合格': 124, '良好': 27, '优秀': 5}
40-44 {'良好': 63, '不合格': 462, '合格': 302, '优秀': 17}
45-49 {'不合格': 606, '合格': 389, '优秀': 11, '良好': 65}
50-54 {'不合格': 853, '合格': 567, '良好': 117, '优秀': 22}
55-80 {'合格': 390, '不合格': 599, '优秀': 13, '良好': 66}
In [117]:
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)
热电厂工会 2.41 681 炼油厂工会 2.48 1006 有机化工厂工会 2.57 446 储运厂工会 2.37 983 合成橡胶厂工会 2.46 713 检验计量中心工会 2.62 632 烯烃厂工会 2.59 410 化学品厂工会 2.4 368 合成树脂厂 2.46 443 生产运行保障中心 2.56 371 高科公司工会 2.69 304 机关工会 2.84 378 行政事务中心(离退中心)工会 2.76 524 教育培训中心工会 2.73 72 物装中心工会 2.67 182 消防中心工会 2.81 214
In [118]:
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)体重 3.41 7724 肺活量 2.96 7651 握力 2.36 7677 坐位体前屈 2.78 6752 纵跳 1.89 7302 俯卧撑 1.99 4557 一分钟仰卧起坐 3.81 1680 单脚站立 1.7 7561 选择反应时 2.76 7579 台阶指数 2.77 5257
In [119]:
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)) 3478
In [120]:
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')0~255分人数:1933人,男性:1675人,女性:258人 256~332分人数:1263人,男性:906人,女性:357人 333~367分人数:228人,男性:140人,女性:88人 368~500分人数:54人,男性:30人,女性:24人 ok
In [121]:
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}人')20~24岁平均成绩:2.31分,人数:184人 25~29岁平均成绩:2.41分,人数:96人 30~34岁平均成绩:2.33分,人数:99人 35~39岁平均成绩:2.36分,人数:113人 40~44岁平均成绩:2.35分,人数:527人 45~49岁平均成绩:2.32分,人数:616人 50~54岁平均成绩:2.35分,人数:739人 55~80岁平均成绩:2.32分,人数:377人
In [122]:
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}人')20~24岁平均成绩:2.57分,人数:69人 25~29岁平均成绩:2.67分,人数:32人 30~34岁平均成绩:2.73分,人数:18人 35~39岁平均成绩:2.62分,人数:43人 40~44岁平均成绩:2.63分,人数:228人 45~49岁平均成绩:2.7分,人数:295人 50~54岁平均成绩:2.71分,人数:42人 55~80岁平均成绩:0.0分,人数:0人
In [123]:
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')0~255分人数:1933人,男性:1675人,女性:258人 256~332分人数:1263人,男性:906人,女性:357人 333~367分人数:228人,男性:140人,女性:88人 368~500分人数:54人,男性:30人,女性:24人 ok
In [125]:
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}人')平均成绩:2.3453分,男性:2751人 平均成绩:2.6869分,女性:727人 平均成绩:2.4167分,总体:3478人
In [126]:
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)体重 3.29 3478 肺活量 2.8 3438 握力 2.34 3449 坐位体前屈 2.74 2993 纵跳 1.7 3288 俯卧撑 1.94 2198 一分钟仰卧起坐 3.65 535 单脚站立 1.44 3390 选择反应时 2.65 3418 台阶指数 2.82 2179
In [ ]: