94 KiB
94 KiB
In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/student_20140922长炼医院监测花名册.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 int(sheet.cell(n, 7).value) ==1:
sex = '男'
else:
sex = '女'
dict1['sex'] = sex
birth = str(sheet.cell(n, 8).value).split()[0]
dict1['birth'] = birth
dict1['unit'] = sheet.cell(n, 3).value
person[code] = dict1
filename = 'data/长炼医院人员2024.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print('ok')In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/长炼医院新增监测花名册(水务部).xlsx')
sheet = wb.active
# sheets = wb.sheetnames
filename = 'data/长炼医院人员名单.json'
with open(filename,'r') as fl:
person = json.load(fl)
print(len(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 int(sheet.cell(n, 7).value) ==1:
sex = '男'
else:
sex = '女'
dict1['sex'] = sex
birth = str(sheet.cell(n, 8).value).split()[0]
dict1['birth'] = birth
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')
print(len(person))In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/长炼医院体测人员编号情况表.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
filename = 'data/长炼医院人员名单.json'
with open(filename,'r') as fl:
person = json.load(fl)
print(len(person))
for n in range(2, sheet.max_row+1):
if sheet.cell(n,1).value is not None:
code = str(sheet.cell(n, 1).value)
ygbh = str(sheet.cell(n, 6).value)
if code in person.keys():
person[code]['code'] = ygbh
#print(code,person[code]['name'],ygbh)
filename = 'data/长炼医院人员名单.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print('ok')In [ ]:
import openpyxl
import json
filename = 'data/长炼医院人员名单.json'
with open(filename,'r') as fl:
person = json.load(fl)
code = '3297'
name = '何治国'
sex = '男'
birth = '1982/02/15'
unit = '长炼医院外二科'
person[code] = {'name':name,'sex':sex,'birth':birth,'unit':unit}
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print('ok')
print(len(person))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)
rq = '20230830'
filename = f'data/places_result_{rq}.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]['unit'] = dict1[user]['unit']
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 datetime
import csv
from datetime import date
filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k,v in dict1.items():
item[k] = v
item['1']['en'] = 'lung'
item['2']['en'] = 'grip'
item['3']['en'] = 'flexion'
item['4']['en'] = 'jump'
item['5']['en'] = 'pushup'
item['6']['en'] = 'balance'
item['7']['en'] = 'reaction'
item['8']['en'] = 'step'
item['9']['en'] = 'situp'
item['10']['en'] = 'height'
item['11']['en'] = 'weight'
re_ta = {}
dict1 = {}
list1 = []
filename = 'data/长炼医院人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/places_result_20231202.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)
#f_item = ['lung','grip','flexion','jump','balance','reaction','step','situp']
#m_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step']
for result in list1:
user = str(result[2])
item_id = int(result[3])
performance = int(result[4])
if user in dict1.keys() and (item_id!=3 and performance>0):
l_xm = []
m_item = str(result[3])
re_ta.setdefault(user,{})
re_ta[user]['name'] = dict1[user]['name']
re_ta[user]['sex'] = dict1[user]['sex']
if dict1[user]['sex'] == '男':
l_xm = ['weight','height','lung','grip','flexion','jump','pushup','balance','reaction','step']
else:
l_xm = ['weight','height','lung','grip','flexion','jump','balance','reaction','step','situp']
re_ta[user]['unit'] = dict1[user]['unit']
birth = date.fromisoformat(dict1[user]['birth'].replace('/','-'))
#nian = int(birth[0].strip())
#yue = int(birth[1].strip())
#ri = int(birth[2].strip())
#print(k,nian,yue,ri)
item_name = item[m_item]['en']
if item_name in l_xm:
days = (datetime.date(2023, 8, 29)-birth).days
re_ta[user]['age'] = int(days/365)
re_ta[user]['month'] = int(days/365*12)
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 openpyxl
#rq = '20230510'
items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','性别','单位','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = f'data/result_长炼医院({rq}).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 = f'data/长炼医院体测情况表({rq}).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
sheet.append(row)
wb.save(filename)In [ ]:
import openpyxl
import json
filename = 'data/长炼医院人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
for k, v in dict1.items():
list2 = []
list2 = [k,v['name'],v['sex'],v['birth'],v['unit']]
list1.append(list2)
filename = f'data/长炼医院体测情况表(20230829).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list1:
sheet.append(row)
wb.save(filename)In [ ]:
import json
import time
filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict3 = json.load(fl)
for k,v in dict3.items():
item[k] = v
item['1']['en'] = 'lung'
item['2']['en'] = 'grip'
item['3']['en'] = 'flexion'
item['4']['en'] = 'jump'
item['5']['en'] = 'pushup'
item['6']['en'] = 'balance'
item['7']['en'] = 'reaction'
item['8']['en'] = 'step'
item['9']['en'] = 'situp'
item['10']['en'] = 'height'
item['11']['en'] = 'weight'
filename = 'data/体质检测标准 (1).json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
def cal_score(data1):
#data = {'name':'张三','sex':'M','age':37,'item':'StepExperiment','result':46}
person = dict1['person']
criteria = dict1['criteria']
info = data1['sex']+str(data1['age'])
bz = person[info]
mx = criteria[bz][data1['item']]
result = data1['result']
if data1['item'] == 'reaction':
for bz1 in mx:
if result > bz1:
#print(bz1)
score = mx.index(bz1,0)
break
else:
score = 5
else:
for bz1 in mx:
if result < bz1:
#print(bz1)
score = mx.index(bz1,0)
break
else:
score = 5
return(score)
filename = 'data/体质检测标准_BMI.json'
with open(filename,'r') as fl:
dict4 = json.load(fl)
def cal_bmi(data1):
# data = {'name':'张三','sex':'M','age':37,'item':'HeightWeight','result':'177.7,97.0'}
person = dict4['person']
criteria = dict4['criteria']
info = data1['sex']+str(data1['age'])
bz = person[info]
#print(bz)
result = data1['result']
print(result)
height = int(float(result.split(',')[0]))
weight = float(result.split(',')[1])
mx = criteria[bz][str(height)]
if weight < mx[0]:
score = 1
elif weight < mx[1]:
score = 3
elif weight < mx[2]:
score = 5
elif weight <= mx[3]:
score = 3
elif weight > mx[3]:
score = 1
return score
#list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp','height','weight']
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp']
filename = 'data/result_长炼医院.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
for k, v in dict2.items():
if v['sex'] == '男':
sex = 'M'
else:
sex = 'F'
if 'height' in v.keys() and 'weight' in v.keys():
bmi_data = v['height']['成绩'].split()[0]+','+ v['weight']['成绩'].split()[0]
data1 = {'sex':sex,'age':v['age'],'item':'HeightWeight','result':bmi_data}
dict2[k]['bmi'] = {}
dict2[k]['bmi']['成绩'] = bmi_data
dict2[k]['bmi']['score'] = cal_bmi(data1)
for item_en in list_item:
if item_en in v.keys():
data1 = {'sex':sex,'age':v['age'],'item':item_en,'result':float(v[item_en]['成绩'].split()[0])}
dict2[k][item_en]['score'] = cal_score(data1)
#print(k,v[item_en]['成绩'],cal_score(data1))
filename = f'data/result_长炼医院.json'
with open(filename,'w') as fl:
json.dump(dict2,fl , ensure_ascii=False)
print('ok!') In [ ]:
import requests
import json
headers = {
"Content-Type": "application/json; charset=UTF-8"
}
filename = 'data/result_长炼医院.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
fiie_path ='./469849/'
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp','bmi']
for k, v in dict1.items():
list1 = []
mydata = {}
id = str(k).rjust(5,"0")
mydata['path'] = fiie_path+id+'-'+ v['name']+'.pdf'
mydata['title'] = '中石化长岭分公司'
mydata['subtitle'] = v['unit']
mydata['id'] = id
mydata['name'] = v['name']
if v['sex'] == '男':
mydata['gender'] = 'male'
else:
mydata['gender'] = 'female'
mydata['month'] = v['month']
mydata['fits'] = {}
for item in list_item:
if item in v.keys():
if item in ['lung','pushup','step','situp']:
mark = v[item]['成绩'].split()[0].split('.')[0]
else:
mark = v[item]['成绩'].split()[0]
mydata['fits'][item] = {'mark':mark,'score':v[item]['score']}
if len(mydata['fits']) >2:
list1.append(mydata)
x = requests.post('http://192.168.31.163:3003', data = json.dumps(list1), headers=headers)
print(id,v['name'],x.text)
x.close()
#print(mydata)
In [ ]:
import requests
import json
headers = {
"Content-Type": "application/json; charset=UTF-8"
}
filename = 'data/result_长炼医院.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
fiie_path ='./469849/'
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp','bmi']
for k, v in dict1.items():
mydata = {}
id = str(k).rjust(5,"0")
mydata['path'] = fiie_path+id+'-'+ v['name']+'.pdf'
mydata['title'] = '中石化长岭分公司'
mydata['subtitle'] = v['unit']
mydata['id'] = id
mydata['name'] = v['name']
if v['sex'] == '男':
mydata['gender'] = 'male'
else:
mydata['gender'] = 'female'
mydata['month'] = v['month']
mydata['fits'] = {}
for item in list_item:
if item in v.keys():
if item in ['lung','pushup','step','situp']:
mark = v[item]['成绩'].split()[0].split('.')[0]
else:
mark = v[item]['成绩'].split()[0]
mydata['fits'][item] = {'mark':mark,'score':v[item]['score']}
if len(mydata['fits']) >2:
list1.append(mydata)
#x = requests.post('http://192.168.31.163:3003', data = json.dumps(list1), headers=headers)
#print(id,v['name'],x.text)
#x.close()
#print(mydata)
json_data = json.dumps(list1,ensure_ascii=False, indent=4)
# 将 json 数据写入文件
with open("data/长炼医院data.json", "w",encoding = 'utf-8') as file:
file.write(json_data) In [ ]:
import json
import csv
filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict3 = json.load(fl)
for k,v in dict3.items():
item[k] = v
item['1']['en'] = 'lung'
item['2']['en'] = 'grip'
item['3']['en'] = 'flexion'
item['4']['en'] = 'jump'
item['5']['en'] = 'pushup'
item['6']['en'] = 'balance'
item['7']['en'] = 'reaction'
item['8']['en'] = 'step'
item['9']['en'] = 'situp'
item['10']['en'] = 'height'
item['11']['en'] = 'weight'
re_ta = {}
list1 = []
item_list = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp']
filename = 'data/places_result_20230830.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])
m_item = str(result[3])
re_ta.setdefault(user,{})
item_name = item[m_item]['en']
re_ta[user].setdefault(item_name,{})
score = int(result[4])/item[m_item]['divisor']
re_ta[user][item_name]['成绩'] = result[5]
filename = 'data/长炼医院data.json'
with open(filename,'r') as fl:
list1 = json.load(fl)
for data in list1:
code = str(int(data['id']))
for k, v in data['fits'].items():
if code in re_ta.keys():
if k in item_list:
print(code,k,v['score'],re_ta[code][k]['成绩'])
if k == 'bmi':
print(code,k,v['score'],re_ta[code]['weight']['成绩'])
In [ ]:
import os,sys,shutil
import json
import glob
from pathlib import Path
fi_path = 'file/469849'
old = []
dict2 = {}
list1 = []
filename = 'data/长炼医院人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
fl = glob.glob(f'{fi_path}/*.pdf')
for fn in fl:
fi_name =Path(fn).stem.split('-')[0]
code = int(fi_name)
print(fi_name,dict1[str(code)]['name'],dict1[str(code)]['code'])
In [ ]:
import os,sys,shutil
import json
import glob
from pathlib import Path
import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["baogao"]
place_id = 469849
fi_path = 'file/469849'
filename = 'data/长炼医院人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
fl = glob.glob(f'{fi_path}/*.pdf')
list1 = []
for fn in fl:
dict2 = {}
fi_name =Path(fn).stem.split('-')[0]
code = int(fi_name)
ygbh = dict1[str(code)]['code']
dict2 = {'place_id':place_id,'code':ygbh,'fn':Path(fn).name}
list1.append(dict2)
mycol = mydb["pdf"]
x = mycol.insert_many(list1)
print('ok') 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, 4).value)
person.setdefault(code, {})
dict1 = {}
dict1['name'] = sheet.cell(n, 6).value
if int(sheet.cell(n, 7).value) ==1:
sex = '男'
else:
sex = '女'
dict1['sex'] = sex
birth = str(sheet.cell(n, 8).value).split()[0]
dict1['birth'] = birth
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 = []
filename = 'data/长岭学生名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
rq = '20230914'
filename = f'data/places_result_{rq}.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]['unit'] = dict1[user]['unit']
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}'
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 openpyxl
#rq = '20230510'
items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','性别','单位','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = f'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 = f'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 = f'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)
wb = openpyxl.load_workbook('data/潭溪小学学生体测数据.xlsx')
sheet = wb.active
for n in range(2, sheet.max_row+1):
if sheet.cell(n,4).value is not None:
code = int(sheet.cell(n, 4).value)
if str(code) not in dict1.keys():
dict1[str(code)] = dict2[str(code)]
print(code)
else:
dict1[str(code)]['birth'] = dict2[str(code)]['birth']
if sheet.cell(n,8).value is not None:
dict1[str(code)].setdefault('50米跑',{})
dict1[str(code)]['50米跑']['成绩'] = sheet.cell(n,8).value
if sheet.cell(n,9).value is not None:
dict1[str(code)].setdefault('一分钟跳绳',{})
dict1[str(code)]['一分钟跳绳']['成绩'] = sheet.cell(n,9).value
if sheet.cell(n,10).value is not None:
dict1[str(code)].setdefault('一分钟仰卧起坐',{})
dict1[str(code)]['一分钟仰卧起坐']['成绩'] = sheet.cell(n,10).value
if sheet.cell(n,11).value is not None:
dict1[str(code)].setdefault('50米x8往返跑',{})
dict1[str(code)]['50米x8往返跑']['成绩'] = sheet.cell(n,11).value
filename = f'data/result_长岭学生all.json'
with open(filename, 'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print('ok')
In [ ]:
import json
import openpyxl
filename = f'data/result_长岭学生all.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
items = ['身高','体重','肺活量','坐位体前屈','50米跑','一分钟跳绳','一分钟仰卧起坐','50米x8往返跑']
for k, v in dict1.items():
list2 = []
list2.append(str(k))
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]['成绩'])
else:
list2.append('')
list1.append(list2)
filename = f'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/长岭学生名单.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
dict1 = {}
wb = openpyxl.load_workbook('data/长岭学生体测成绩表.xlsx')
sheet = wb.active
for n in range(2, sheet.max_row+1):
if sheet.cell(n,1).value is not None:
code = str(sheet.cell(n,1).value)
dict1[code] = dict2[code]
dict1[code]['grade'] = dict2[code]['unit'][:1]
if sheet.cell(n,5).value is not None:
dict1[code]['BMI'] = int(sheet.cell(n,5).value)
if sheet.cell(n,6).value is not None:
dict1[code]['肺活量'] = int(sheet.cell(n,6).value)
if sheet.cell(n,7).value is not None:
dict1[code]['坐位体前屈'] = int(sheet.cell(n,7).value)
if sheet.cell(n,8).value is not None:
dict1[code]['50米跑'] = int(sheet.cell(n,8).value)
if sheet.cell(n,9).value is not None:
dict1[code]['一分钟跳绳'] = int(sheet.cell(n,9).value)
if sheet.cell(n,10).value is not None:
dict1[code]['仰卧起坐'] = int(sheet.cell(n,10).value)
if sheet.cell(n,11).value is not None:
dict1[code]['往返跑'] = int(sheet.cell(n,11).value)
filename = f'data/score_长岭学生.json'
with open(filename, 'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print('ok')
In [ ]:
import json
filename = f'data/score_长岭学生.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
items =['BMI','肺活量','坐位体前屈','50米跑','一分钟跳绳','仰卧起坐','往返跑']
for k, v in dict1.items():
i = 0
t_score = 0
for item in items:
if item in v.keys():
i+=1
t_score = t_score + v[item]
dict1[k]['总分'] = t_score
dict1[k]['平均分'] =round(t_score/i,2)
dict1[k]['项目数'] = i
with open(filename, 'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print('ok') In [ ]:
import json
filename = f'data/score_长岭学生.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
n = 0
f = 0
m = 0
m_score = 0
f_score = 0
for k, v in dict1.items():
if v['sex'] == '男':
m+=1
m_score = m_score + v['平均分']
else:
f+=1
f_score = f_score + v['平均分']
print('男性学生人数:',m)
print('男性学生平均成绩:',m_score/m)
print('女性学生人数:',f)
print('女性学生平均成绩:',f_score/f)
print('参加测试学生人数:',f+m)
print('所有学生平均成绩:',(f_score+m_score)/(f+m))
In [ ]:
import json
filename = f'data/score_长岭学生.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
grade =['一','二','三','四','五','六']
dict2 = {}
items =['BMI','肺活量','坐位体前屈','50米跑','一分钟跳绳','仰卧起坐','往返跑']
for k, v in dict1.items():
sex = v['sex']
dict2.setdefault(v['grade'],{})
dict2[v['grade']].setdefault(sex,{})
for item in v.keys():
if item in items:
dict2[v['grade']][sex].setdefault(item,[0.00,0,0])
dict2[v['grade']][sex][item][0] = dict2[v['grade']][sex][item][0]+v[item]
dict2[v['grade']][sex][item][1] = dict2[v['grade']][sex][item][1] + 1
dict2[v['grade']][sex][item][2] = round(dict2[v['grade']][sex][item][0]/dict2[v['grade']][sex][item][1],2)
filename = f'data/grade_长岭学生.json'
with open(filename, 'w') as fl:
json.dump(dict2, fl, ensure_ascii=False)
print('ok') In [ ]:
import json
filename = f'data/score_长岭学生.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
grade =['一','二','三','四','五','六']
dict2 = {}
items =['BMI','肺活量','坐位体前屈','50米跑','一分钟跳绳','仰卧起坐','往返跑']
for k, v in dict1.items():
sex = v['sex']
dict2.setdefault(v['grade'],{})
for item in v.keys():
if item in items:
dict2[v['grade']].setdefault(item,[0.00,0,0])
dict2[v['grade']][item][0] = dict2[v['grade']][item][0]+v[item]
dict2[v['grade']][item][1] = dict2[v['grade']][item][1] + 1
dict2[v['grade']][item][2] = round(dict2[v['grade']][item][0]/dict2[v['grade']][item][1],2)
filename = f'data/grade_长岭学生(不区分性别).json'
with open(filename, 'w') as fl:
json.dump(dict2, fl, ensure_ascii=False)
print('ok') In [ ]:
filename = f'data/grade_长岭学生.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k, v in dict1.items():
print(f'{k}年级测试得分情况:')
i = 0
m_score = 0
for k1,v1 in v['男'].items():
i+=1
m_score = m_score + v1[0]/v1[1]
print(f'男生测试得分情况:',round(m_score/i,2))
n = 0
f_score = 0
for k1,v1 in v['女'].items():
n+=1
f_score = f_score + v1[0]/v1[1]
print(f'女生测试得分情况:',round(f_score/n,2))
print(f'年级测试得分情况:',round((m_score+f_score)/(i+n),2))In [ ]:
filename = f'data/grade_长岭学生.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
items =['BMI','肺活量','坐位体前屈','50米跑','一分钟跳绳','仰卧起坐','往返跑']
for k, v in dict1.items():
print(f'{k}年级测试得分情况:')
f = 0
m = 0
f_score = 0
m_score = 0
for item in items:
for k1,v1 in v['男'].items():
if item in v1.keys():
i+=1
score = score + v1[0]/v1[1]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, 4).value)
person.setdefault(code, {})
dict1 = {}
dict1['name'] = sheet.cell(n, 6).value
if int(sheet.cell(n, 7).value) ==1:
sex = '男'
else:
sex = '女'
dict1['sex'] = sex
birth = str(sheet.cell(n, 8).value).split()[0]
dict1['birth'] = birth
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 = []
filename = 'data/长岭教师名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/places_result_20231005.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]['unit'] = dict1[user]['unit']
re_ta[user]['birth'] = dict1[user]['birth']
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 datetime
filename = 'data/result_长岭教师.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k, v in dict1.items():
#print(k,v)
if '.' in v['birth']:
birth = v['birth'].split()[0].split('.')
else:
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, 9, 11)-datetime.date(nian,yue,ri)).days
v['age'] = int(days/365)
filename = 'data/result_长岭教师.json'
with open(filename,'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print('ok') In [ ]:
import json
import time
filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict3 = json.load(fl)
for k,v in dict3.items():
item[k] = v
item['1']['en'] = 'lung'
item['2']['en'] = 'grip'
item['3']['en'] = 'flexion'
item['4']['en'] = 'jump'
item['5']['en'] = 'pushup'
item['6']['en'] = 'balance'
item['7']['en'] = 'reaction'
item['8']['en'] = 'step'
item['9']['en'] = 'situp'
item['10']['en'] = 'height'
item['11']['en'] = 'weight'
filename = 'data/体质检测标准 (1).json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
def cal_score(data1):
#data = {'name':'张三','sex':'M','age':37,'item':'StepExperiment','result':46}
person = dict1['person']
criteria = dict1['criteria']
info = data1['sex']+str(data1['age'])
bz = person[info]
mx = criteria[bz][data1['item']]
result = data1['result']
if data1['item'] == 'reaction':
for bz1 in mx:
if result > bz1:
#print(bz1)
score = mx.index(bz1,0)
break
else:
score = 5
else:
for bz1 in mx:
if result < bz1:
#print(bz1)
score = mx.index(bz1,0)
break
else:
score = 5
return(score)
filename = 'data/体质检测标准_BMI.json'
with open(filename,'r') as fl:
dict4 = json.load(fl)
def cal_bmi(data1):
# data = {'name':'张三','sex':'M','age':37,'item':'HeightWeight','result':'177.7,97.0'}
person = dict4['person']
criteria = dict4['criteria']
info = data1['sex']+str(data1['age'])
bz = person[info]
#print(bz)
result = data1['result']
print(result)
height = int(float(result.split(',')[0]))
weight = float(result.split(',')[1])
mx = criteria[bz][str(height)]
if weight < mx[0]:
score = 1
elif weight < mx[1]:
score = 3
elif weight < mx[2]:
score = 5
elif weight <= mx[3]:
score = 3
elif weight > mx[3]:
score = 1
return score
#list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp','height','weight']
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp']
filename = 'data/result_长岭教师.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
for k, v in dict2.items():
if v['sex'] == '男':
sex = 'M'
else:
sex = 'F'
if 'height' in v.keys() and 'weight' in v.keys():
bmi_data = v['height']['成绩'].split()[0]+','+ v['weight']['成绩'].split()[0]
data1 = {'sex':sex,'age':v['age'],'item':'HeightWeight','result':bmi_data}
dict2[k]['bmi'] = {}
dict2[k]['bmi']['成绩'] = bmi_data
dict2[k]['bmi']['score'] = cal_bmi(data1)
for item_en in list_item:
if item_en in v.keys():
data1 = {'sex':sex,'age':v['age'],'item':item_en,'result':float(v[item_en]['成绩'].split()[0])}
dict2[k][item_en]['score'] = cal_score(data1)
#print(k,v[item_en]['成绩'],cal_score(data1))
filename = f'data/result_长岭教师.json'
with open(filename,'w') as fl:
json.dump(dict2,fl , ensure_ascii=False)
print('ok!') In [ ]:
In [ ]:
import json
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp','bmi']
filename = 'data/result_长岭教师.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k,v in dict1.items():
print(k)
score = 0
i = 0
for k1,v1 in v.items():
if k1 in list_item:
score = score + int(v1['score'])
i+=1
dict1[k]['score'] = round(score/i,2)
with open(filename,'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print('ok')In [ ]:
import json
filename = f'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/38,4)}分,总体:38人')In [ ]:
import json
filename = f'data/result_长岭教师.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
i = 1
m = 0
f = 0
score = 0
t_score = 0
list_item = ['lung','flexion','reaction','bmi']
for item in list_item:
m = 0
f = 0
score = 0
t_score = 0
for k,v in dict1.items():
if v['sex'] == '男' and item in v.keys():
m = m +1
score = score+v['score']
print(f'{item}平均成绩:{round(score/m,4)}分,男性:{m}人')
t_score = t_score + score
score = 0
for k,v in dict1.items():
if v['sex'] == '女' and item in v.keys():
f = f +1
score = score+v['score']
print(f'{item}平均成绩:{round(score/f,4)}分,女性:{f}人')
t_score = t_score + score
print(f'{item}平均成绩:{round(t_score/(f+m),4)}分,总体:{f+m}人')In [ ]:
import json
import datetime
import csv
from datetime import date
filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k,v in dict1.items():
item[k] = v
item['1']['en'] = 'lung'
item['2']['en'] = 'grip'
item['3']['en'] = 'flexion'
item['4']['en'] = 'jump'
item['5']['en'] = 'pushup'
item['6']['en'] = 'balance'
item['7']['en'] = 'reaction'
item['8']['en'] = 'step'
item['9']['en'] = 'situp'
item['10']['en'] = 'height'
item['11']['en'] = 'weight'
re_ta = {}
dict1 = {}
list1 = []
filename = 'data/长炼医院人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/places_result_20231202.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)
#f_item = ['lung','grip','flexion','jump','balance','reaction','step','situp']
#m_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step']
for result in list1:
user = str(result[2])
item_id = int(result[3])
performance = int(result[4])
rq = date.fromisoformat(result[6].replace('/','-'))
if user in dict1.keys() and (item_id!=3 or performance>0):
l_xm = []
m_item = str(result[3])
re_ta.setdefault(user,{})
re_ta[user]['name'] = dict1[user]['name']
re_ta[user]['sex'] = dict1[user]['sex']
if dict1[user]['sex'] == '男':
l_xm = ['weight','height','lung','grip','flexion','jump','pushup','balance','reaction','step']
else:
l_xm = ['weight','height','lung','grip','flexion','jump','balance','reaction','step','situp']
re_ta[user]['unit'] = dict1[user]['unit']
birth = date.fromisoformat(dict1[user]['birth'].replace('/','-'))
#nian = int(birth[0].strip())
#yue = int(birth[1].strip())
#ri = int(birth[2].strip())
#print(k,nian,yue,ri)
item_name = item[m_item]['en']
if item_name in l_xm:
days = (rq-birth).days
re_ta[user]['age'] = int(days/365)
re_ta[user]['month'] = int(days/365*12)
re_ta[user]['rq'] = result[6]
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
filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict3 = json.load(fl)
for k,v in dict3.items():
item[k] = v
item['1']['en'] = 'lung'
item['2']['en'] = 'grip'
item['3']['en'] = 'flexion'
item['4']['en'] = 'jump'
item['5']['en'] = 'pushup'
item['6']['en'] = 'balance'
item['7']['en'] = 'reaction'
item['8']['en'] = 'step'
item['9']['en'] = 'situp'
item['10']['en'] = 'height'
item['11']['en'] = 'weight'
filename = 'data/体质检测标准 (1).json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
def cal_score(data1):
#data = {'name':'张三','sex':'M','age':37,'item':'StepExperiment','result':46}
person = dict1['person']
criteria = dict1['criteria']
if data1['age'] >59:
data1['age'] = 59
if data1['age'] <20:
data1['age'] = 20
info = data1['sex']+str(data1['age'])
bz = person[info]
mx = criteria[bz][data1['item']]
result = data1['result']
if data1['item'] == 'reaction':
for bz1 in mx:
if result > bz1:
#print(bz1)
score = mx.index(bz1,0)
break
else:
score = 5
else:
for bz1 in mx:
if result < bz1:
#print(bz1)
score = mx.index(bz1,0)
break
else:
score = 5
return(score)
filename = 'data/体质检测标准_BMI.json'
with open(filename,'r') as fl:
dict4 = json.load(fl)
def cal_bmi(data1):
# data = {'name':'张三','sex':'M','age':37,'item':'HeightWeight','result':'177.7,97.0'}
person = dict4['person']
criteria = dict4['criteria']
if data1['age'] > 59:
data1['age'] = 59
if data1['age'] <20:
data1['age'] = 20
info = data1['sex']+str(data1['age'])
bz = person[info]
#print(bz)
result = data1['result']
#print(data1['code'],result)
height = int(float(result.split(',')[0]))
weight = float(result.split(',')[1])
if str(height) not in criteria[bz]:
score = 1
else:
mx = criteria[bz][str(height)]
if weight < mx[0]:
score = 1
elif weight < mx[1]:
score = 3
elif weight < mx[2]:
score = 5
elif weight <= mx[3]:
score = 3
elif weight > mx[3]:
score = 1
return score
#list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp','height','weight']
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp']
filename = 'data/result_长炼医院.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
for k, v in dict2.items():
#print(k)
if v['sex'] == '男':
sex = 'M'
else:
sex = 'F'
if 'height' in v.keys() and 'weight' in v.keys():
bmi_data = v['height']['成绩'].split()[0]+','+ v['weight']['成绩'].split()[0]
data1 = {'code':k,'sex':sex,'age':v['age'],'item':'HeightWeight','result':bmi_data}
dict2[k]['bmi'] = {}
dict2[k]['bmi']['成绩'] = bmi_data
dict2[k]['bmi']['score'] = cal_bmi(data1)
for item_en in list_item:
if item_en in v.keys():
data1 = {'code':k,'sex':sex,'age':v['age'],'item':item_en,'result':float(v[item_en]['成绩'].split()[0])}
dict2[k][item_en]['score'] = cal_score(data1)
#print(k,v[item_en]['成绩'],cal_score(data1))
filename = f'data/result_长炼医院.json'
with open(filename,'w') as fl:
json.dump(dict2,fl , ensure_ascii=False)
print('ok!') In [ ]:
import json
import openpyxl
filename = 'data/result_长炼医院.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
#items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
items = {}
items['lung'] = '肺活量'
items['grip'] ='握力'
items['flexion'] ='坐位体前屈'
items['jump'] ='纵跳'
items['pushup'] ='俯卧撑'
items['balance'] ='单脚站立'
items['reaction'] ='选择反应时'
items['step'] ='台阶指数'
items['situp'] ='一分钟仰卧起坐'
items['bmi'] ='BMI'
list1 = []
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp','bmi']
i=1
list2 = []
dict2 = {}
for k, v in dict1.items():
list1 = []
mydata = {}
id = str(k).rjust(8,"0")
mydata['unit'] = v['unit']
mydata['name'] = v['name']
mydata['sex'] = v['sex']
mydata['month'] = v['month']
age = int(v['month']/12)
if age <20:
mydata['age'] = 20
else:
mydata['age'] = int(v['month']/12)
mydata['fits'] = {}
score = 0
for item in list_item:
if item in v.keys():
if item in ['lung','pushup','step','situp']:
mark = v[item]['成绩'].split()[0].split('.')[0]
else:
mark = v[item]['成绩'].split()[0]
mydata['fits'][items[item]] = {'mark':mark,'score':v[item]['score']}
score = score + v[item]['score']
if len(mydata['fits'])>0:
mydata['score'] = round(score/len(mydata['fits']),2)
if len(mydata['fits']) >2:
dict2[str(k)] = mydata
print(len(dict2))
filename = f'data/data_长炼医院.json'
with open(filename,'w') as fl:
json.dump(dict2,fl , ensure_ascii=False)
print('ok!') In [ ]:
import json
items = ['体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/data_长炼医院.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}人')
print(len(dict1))In [ ]:
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,69]]
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 openpyxl
import json
wb = openpyxl.load_workbook('data/湖南石化青年体质检测.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
person = {}
for n in range(3, 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 int(sheet.cell(n, 7).value) ==1:
sex = '男'
else:
sex = '女'
dict1['sex'] = sex
birth = str(sheet.cell(n, 8).value).split()[0]
dict1['birth'] = birth
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 [24]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/湖南石化青年体质检测.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
person = {}
for n in range(3, sheet.max_row+1):
if sheet.cell(n,1).value is not None:
code = int(sheet.cell(n, 3).value)
person.setdefault(code, {})
dict1 = {}
dict1['name'] = sheet.cell(n, 4).value
dict1['sex'] = sheet.cell(n, 5).value
birth = str(sheet.cell(n, 8).value).split()[0]
dict1['birth'] = birth
dict1['unit'] = sheet.cell(n, 2).value
person[code] = dict1
del person[1]
del person[2]
filename = 'data/湖南石化青年体质检测.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print('ok')ok
In [2]:
import json
filename = 'data/长炼医院人员2024.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 dict2.items():
dict1[k] = v
filename = 'data/长炼医院人员2024(汇总).json'
with open(filename, 'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print('ok')ok
In [26]:
import json
import time
import csv
filename = '../item1.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/长炼医院人员2024.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/places_result_20241205-1.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]['unit'] = dict1[user]['unit']
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_长炼医院人员2024.json'
with open(filename,'w') as fl:
json.dump(re_ta, fl, ensure_ascii=False)
print(len(re_ta))207 207
In [7]:
import json
import time
import csv
filename = '../item1.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_20241205-1.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]['unit'] = dict1[user]['unit']
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_长炼医院人员2024(湖南青年).json'
with open(filename,'w') as fl:
json.dump(re_ta, fl, ensure_ascii=False)
print(len(re_ta))78 78
In [13]:
import json
import datetime
import csv
from datetime import date
filename = '../item1.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k,v in dict1.items():
item[k] = v
item['1']['en'] = 'lung'
item['2']['en'] = 'grip'
item['3']['en'] = 'flexion'
item['4']['en'] = 'jump'
item['5']['en'] = 'pushup'
item['6']['en'] = 'balance'
item['7']['en'] = 'reaction'
item['8']['en'] = 'step'
item['9']['en'] = 'situp'
item['10']['en'] = 'height'
item['11']['en'] = 'weight'
re_ta = {}
dict1 = {}
list1 = []
filename = 'data/湖南石化青年体质检测.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/places_result_20241205-1.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)
#f_item = ['lung','grip','flexion','jump','balance','reaction','step','situp']
#m_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step']
for result in list1:
user = str(result[2])
rq = date.fromisoformat(result[6].replace('/','-'))
if user in dict1.keys():
l_xm = []
m_item = str(result[3])
re_ta.setdefault(user,{})
re_ta[user]['name'] = dict1[user]['name']
re_ta[user]['sex'] = dict1[user]['sex']
if dict1[user]['sex'] == '男':
l_xm = ['weight','height','lung','grip','flexion','jump','pushup','balance','reaction','step']
else:
l_xm = ['weight','height','lung','grip','flexion','jump','balance','reaction','step','situp']
re_ta[user]['unit'] = dict1[user]['unit']
birth = date.fromisoformat(dict1[user]['birth'].replace('/','-'))
#birth = date.fromisoformat(dict1[user]['birth'])
#nian = int(birth[0].strip())
#yue = int(birth[1].strip())
#ri = int(birth[2].strip())
#print(k,nian,yue,ri)
item_name = item[m_item]['en']
if item_name in l_xm:
days = (rq-birth).days
re_ta[user]['age'] = int(days/365)
re_ta[user]['month'] = int(days/365*12)
re_ta[user]['rq'] = result[6]
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_长炼医院人员2024(湖南青年).json'
with open(filename,'w') as fl:
json.dump(re_ta, fl, ensure_ascii=False)
print(len(re_ta))78 78
In [25]:
import json
import openpyxl
items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','性别','单位','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/result_长炼医院人员2024.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():
if k in dict2.keys():
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 [28]:
import json
import openpyxl
items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','性别','单位','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/result_长炼医院人员2024.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/湖南石化青年体质检测.json'
with open(filename,'r') as fl:
dict3 = json.load(fl)
filename = 'data/长炼医院人员2024.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
list1 = []
for k, v in dict1.items():
if k in dict2.keys() and k not in dict3.keys():
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 [1]:
import json
import openpyxl
items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','性别','单位','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/长炼医院人员2024.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
filename = 'data/湖南石化青年体质检测.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
set1 = set()
for k, v in dict2.items():
set1.add(v['name'])
for k, v in dict1.items():
if v['name'] in set1:
print(k,v['name'])3437581 李成伟 3526193 李可 3464205 胡雨丹 1010 邱亮 1012 吴磊 3464081 刘权 3125625 宋霰 1020 贾俊 1022 徐敬 1023 彭一夫 1024 刘至清 1053 刘志刚 1058 杨红 1069 李鑫 1144 黄英杰
In [6]:
import json
import time
import csv
filename = '../item1.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/长炼医院人员2024(汇总).json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/places_result_20241206.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]['unit'] = dict1[user]['unit']
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_长炼医院人员2024(0417前).json'
with open(filename,'w') as fl:
json.dump(re_ta, fl, ensure_ascii=False)
print(len(re_ta))29 29
In [ ]: