27 KiB
27 KiB
In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/student_20140922(东营工程设计院监测花名册2023年) .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, 4).value)
person.setdefault(code, {})
dict1 = {}
dict1['name'] = sheet.cell(n, 6).value
if sheet.cell(n, 7).value ==1:
sex = '男'
else:
sex = '女'
dict1['sex'] = sex
dict1['unit'] = sheet.cell(n, 3).value
person[code] = dict1
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 = []
#print("\n运动项目信息:")
filename = 'data/141.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[4])
m_item = str(result[0])
re_ta.setdefault(user,{})
re_ta[user]['name'] = str(result[6])
re_ta[user]['unit'] = str(result[5])
item_name = item[m_item]['name']
re_ta[user].setdefault(item_name,{})
score = int(result[1])/item[m_item]['divisor']
re_ta[user][item_name]['成绩'] = f'{score} {item[m_item]["unit"]}'
re_ta[user][item_name]['得分'] =result[2]
filename = 'data/result_东营石油工程设计院.json'
with open(filename,'w') as fl:
json.dump(re_ta, fl)
print('ok')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)
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]['unit'])
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
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
#SQL语句为:
#SELECT a.item_id,a.performance,a.score,a.date AS DATE1,a.avatar_id,b.unit,b.name,a.date_joined FROM places_result AS a,_tianjin AS b WHERE a.place_id=134 AND a.avatar_id=b.id
filename = 'data/东营工程设计院人员名单.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
list1 = []
#print("\n运动项目信息:")
filename = 'data/141.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)
dict3 = {}
for result in list1:
user = result[2]
if user in dict2.keys():
dict3.setdefault(user,{})
dict3[user]['name'] = dict2[user]['name']
dict3[user]['unit'] = dict2[user]['unit']
print(len(dict3))
list1 = []
for k, v in dict3.items():
list2 = [k,v['name'],v['unit']]
list1.append(list2)
filename = 'data/东营工程设计院参加测试人员情况表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list1:
sheet.append(row)
wb.save(filename)
In [ ]:
import os,sys,shutil
import json
import math
import openpyxl
wb = openpyxl.load_workbook('data/东营工程设计院参加测试人员情况表.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
dict1 = {}
list_bh = []
depart = []
for n in range(1,sheet.max_row+1):
dict1.setdefault(sheet.cell(n, 1).value,{})
m_depart = sheet.cell(n, 3).value
dict1[sheet.cell(n, 1).value]['unit'] = m_depart
dict1[sheet.cell(n, 1).value]['name'] = sheet.cell(n, 2).value
if m_depart not in depart:
depart.append(m_depart)
old = []
fi_path = 'file/141'
# 创建部门办公室
m_path = 'file/141/new'
for pn in depart:
if not os.path.exists(m_path + '/' + pn):
os.mkdir(m_path + '/' + pn)
fl=os.listdir(fi_path)
for fn in fl:
if os.path.isfile(fi_path + '/' + fn):
ofn = int(fn.split('.')[0])
old.append(ofn)
old.sort()
for n in old:
o_name = f'{fi_path}/{n}.pdf'
unit = dict1[str(n)]['unit']
name = dict1[str(n)]['name']
n_name = f'{m_path}/{unit}/{str(n).rjust(5,"0")}-{name}.pdf'
#print(o_name,n_name)
if not os.path.exists(n_name):
shutil.copyfile(o_name,n_name)
print(n_name)In [ ]:
import json
import pymysql
import datetime
dict1 = {}
dict2 = {}
dict3 = {}
db = pymysql.connect(host = "localhost",user = "songyi",password = "yylzs",database = "ydyb" )
cursor = db.cursor()
sql = "SELECT b.avatar_id, a.name ,a.sex,a.birth FROM people as a,places_people as b WHERE a.id =b.people_id AND b.place_id = 141"
cursor.execute(sql)
results = cursor.fetchall()
for result in results:
bh = result[0]
name = str(result[1]).strip()
dict2.setdefault(bh,{})
dict2[bh]['name'] = name
dict2[bh]['sex'] = result[2]
#dict2[bh]['birth'] = result[3]
#print(result[3])
days = (datetime.date(2023, 3, 6)-result[3]).days
dict2[bh]['age'] = round(days/365)
filename = 'data/东营工程设计院人员信息.json'
with open(filename, 'w') as fl:
json.dump(dict2, 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
#SQL语句为:
#SELECT a.item_id,a.performance,a.score,a.date AS DATE1,a.avatar_id,b.unit,b.name,a.date_joined FROM places_result AS a,_tianjin AS b WHERE a.place_id=134 AND a.avatar_id=b.id
re_ta = {}
dict1 = {}
list1 = []
#print("\n运动项目信息:")
filename = 'data/141.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[4])
m_item = str(result[0])
re_ta.setdefault(user,{})
re_ta[user]['name'] = str(result[6])
re_ta[user]['unit'] = str(result[5])
item_name = item[m_item]['name']
re_ta[user].setdefault(item_name,{})
score = int(result[1])/item[m_item]['divisor']
re_ta[user][item_name]['成绩'] = f'{score} {item[m_item]["unit"]}'
re_ta[user][item_name]['得分'] =result[2]
filename = 'data/result_东营设计院.json'
with open(filename,'w') as fl:
json.dump(re_ta, fl)
print('ok')In [ ]:
import json
items = ['体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
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)
for k,v in dict1.items():
print(k)
score = 0
i = 0
for k1,v1 in v.items():
if k1 in items:
score = score + int(v1['得分'])
i+=1
dict1[k]['age'] = dict2[k]['age']
dict1[k]['sex'] = dict2[k]['sex']
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
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,59],[60,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'] == 0:
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,59],[60,69]]
filename = 'data/result_东营设计院.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
i = 1
score = 0
m = 0
f = 0
for k,v in dict1.items():
if v['sex'] == 0:
m = m+v['score']
else:
f = f+v['score']
score = score + v['score']
print(f'平均成绩:{round(score/336,2)}分,男性:{round(m/203,2)}分,女性:{round(f/133,2)}')In [28]:
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]
filename = 'data/result_东营设计院.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
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'] == 0:
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分人数:58人,男性:54人,女性:4人 256~332分人数:149人,男性:96人,女性:53人 333~367分人数:95人,男性:43人,女性:52人 368~500分人数:34人,男性:10人,女性:24人 ok
In [30]:
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,59],[60,69]]
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]
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'] == 0:
dict3[age][v['level']] = dict3[age][v['level']]+1
for k, v in dict3.items():
print(k,v)20-24 {'合格': 9, '良好': 3, '不合格': 6, '优秀': 0}
25-29 {'不合格': 12, '合格': 20, '优秀': 1, '良好': 5}
30-34 {'合格': 14, '良好': 8, '不合格': 11, '优秀': 1}
35-39 {'良好': 7, '优秀': 3, '合格': 16, '不合格': 8}
40-44 {'良好': 9, '合格': 11, '优秀': 1, '不合格': 4}
45-49 {'良好': 5, '优秀': 2, '合格': 6, '不合格': 3}
50-54 {'良好': 3, '合格': 14, '优秀': 2, '不合格': 3}
55-59 {'不合格': 7, '合格': 6, '优秀': 0, '良好': 2}
60-69 {'良好': 1}
In [31]:
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,59],[60,69]]
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]
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'] == 1:
dict3[age][v['level']] = dict3[age][v['level']]+1
for k, v in dict3.items():
print(k,v)20-24 {'合格': 3, '良好': 4, '不合格': 1, '优秀': 1}
25-29 {'不合格': 0, '合格': 6, '优秀': 2, '良好': 9}
30-34 {'合格': 15, '良好': 7, '不合格': 2, '优秀': 3}
35-39 {'良好': 13, '优秀': 6, '合格': 10, '不合格': 0}
40-44 {'良好': 10, '合格': 5, '优秀': 6, '不合格': 0}
45-49 {'良好': 4, '优秀': 3, '合格': 4, '不合格': 0}
50-54 {'良好': 3, '合格': 9, '优秀': 2, '不合格': 1}
55-59 {'不合格': 0, '合格': 1, '优秀': 1, '良好': 2}
60-69 {'良好': 0}
In [37]:
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)
管道工程设计所 3.19 19 建筑设计所 3.03 15 机械设备所 3.31 24 油气工艺设计所 2.96 18 工程勘察公司 3.12 33 水处理及热力工程设计所 2.85 25 自控通信所 3.13 20 海洋工程设计所 3.04 26 电力设计所 3.07 19 智能化研究中心 3.04 28 HSE管理部 3.44 1 项目管理中心 3.1 17 节能环保工程技术中心 3.1 18 技术发展中心 2.7 10 工程监理公司 3.16 7 工程造价中心 2.94 9 档案管理中心 3.15 8 国际工程管理部 3.11 6 党群工作部 3.78 1 市场开发部 2.8 7 综合服务中心 2.96 12 技术质量部 3.67 2 财务资产部 2.93 9 综合管理部 2.94 2
In [40]:
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))体重 3.53 肺活量 3.57 握力 2.15 坐位体前屈 2.64 纵跳 2.8 俯卧撑 3.19 一分钟仰卧起坐 4.27 单脚站立 2.94 选择反应时 3.75 台阶指数 2.56
In [ ]: