60 KiB
60 KiB
In [ ]:
import openpyxl
import json
tcbz ={
'HeightWeigh':'身高体重',
'StepExperiment':'台阶指数',
'Lung':'肺活量',
'Proneness':'坐位体前屈',
'PowerfullGrip':'握力',
'OneMinutePushUp':'一分钟仰卧起坐',
'PushUp':'俯卧撑',
'VerticalJump':'纵跳',
'ReactionTime':'选择反应时',
'FootStand':'单脚站立'
}
wb = openpyxl.load_workbook('data/体质检测标准.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
dict1 = {}
dict3 = {}
for k, v in tcbz.items():
dict3[v] = k
sheet = wb.active
data1 =list(sheet.values)
del data1[0]
for item in data1:
sex = item[0][6:]
if sex =='男':
age_sex = 'M'+item[0][:5]
else:
age_sex = 'F'+item[0][:5]
dict1.setdefault(age_sex,{})
if item[1] in dict3.keys():
xm = dict3[item[1]]
dict1[age_sex].setdefault(xm,[])
dict1[age_sex][xm].append(item[3]/item[4])
dict2 = {}
#print(dict1)
for k, v in dict1.items():
i1 = int(k[1:3])
i2 = int(k[-2:])
m_sex = k[:1]
for i in range(i1,i2+1):
dict2[m_sex+str(i)] = k
dict3 = {}
dict3['person'] = dict2
dict3['criteria'] = dict1
filename = 'data/体质检测标准.json'
with open(filename, 'w') as fl:
json.dump(dict3, fl, ensure_ascii=False)
print('ok')In [ ]:
import openpyxl
import json
tcbz ={
'HeightWeigh':'身高体重',
'StepExperiment':'台阶指数',
'Lung':'肺活量',
'Proneness':'坐位体前屈',
'PowerfullGrip':'握力',
'OneMinutePushUp':'一分钟仰卧起坐',
'PushUp':'俯卧撑',
'VerticalJump':'纵跳',
'ReactionTime':'选择反应时',
'FootStand':'单脚站立'
}
wb = openpyxl.load_workbook('data/体质检测标准_BMI.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
dict1 = {}
dict3 = {}
for k, v in tcbz.items():
dict3[v] = k
sheet = wb.active
data1 =list(sheet.values)
del data1[0]
for item in data1:
min_age = int(item[1]/12)
max_age = int((item[2]+1)/12) - 1
sex = item[0]
height = int(item[3])
if sex ==0:
age_sex = 'M'+str(min_age)+'~'+str(max_age)
else:
age_sex = 'F'+str(min_age)+'~'+str(max_age)
dict1.setdefault(age_sex,{})
dict1[age_sex].setdefault(height,[])
dict1[age_sex][height].append(item[5]/1000)
dict2 = {}
#print(dict1)
for k, v in dict1.items():
i1 = int(k[1:3])
i2 = int(k[-2:])
m_sex = k[:1]
for i in range(i1,i2+1):
dict2[m_sex+str(i)] = k
dict3 = {}
dict3['person'] = dict2
dict3['criteria'] = dict1
filename = 'data/体质检测标准_BMI.json'
with open(filename, 'w') as fl:
json.dump(dict3, fl, ensure_ascii=False)
print('ok')In [ ]:
import json
import time
import csv
filename = 'data/体质检测标准.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict1 = json.load(fl)
person = dict1['person']
criteria = dict1['criteria']
data = {'name':'张三','sex':'M','age':37,'item':'StepExperiment','result':46}
info = data['sex']+str(data['age'])
bz = person[info]
mx = criteria[bz][data['item']]
result = data['result']
score = -1
print(mx)
for bz1 in mx:
if result < bz1:
print(bz1)
score = mx.index(bz1,0)
break
else:
score = 5
#if score == -1:
# score = 5
print(score)In [ ]:
import json
import time
import csv
filename = 'data/体质检测标准_BMI.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict1 = json.load(fl)
person = dict1['person']
criteria = dict1['criteria']
data = {'name':'张三','sex':'M','age':37,'item':'HeightWeight','result':'177.7,97.0'}
info = data['sex']+str(data['age'])
bz = person[info]
print(bz)
result = data['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
print(score)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_20231018.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('/','-'))
#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
filename = 'data/result_天津231017.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict2 = {}
list2 = []
i= 1
p= 1
for k, v in dict1.items():
list2.append(k)
i+=1
if i>200:
dict2[p] = list2
p+=1
i = 1
list2 = []
dict2[p] = list2
filename = f'data/报告清单.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_天津231017.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
fiie_path ='./134/'
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp','bmi']
i = 27
list2 = []
filename = 'data/报告清单.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
print(i)
for k in dict2[str(i)]:
list1 = []
mydata = {}
id = str(k).rjust(8,"0")
mydata['path'] = fiie_path+id+'-'+ dict1[k]['name']+'.pdf'
mydata['title'] = '中石化(天津)石油化工\n有限公司'
mydata['subtitle'] = dict1[k]['unit']
mydata['id'] = id
mydata['name'] = dict1[k]['name']
if v['sex'] == '男':
mydata['gender'] = 'male'
else:
mydata['gender'] = 'female'
mydata['month'] = dict1[k]['month']
mydata['fits'] = {}
for item in list_item:
if item in dict1[k].keys():
if item in ['lung','pushup','step','situp']:
mark = dict1[k][item]['成绩'].split()[0].split('.')[0]
else:
mark = dict1[k][item]['成绩'].split()[0]
mydata['fits'][item] = {'mark':mark,'score':dict1[k][item]['score']}
if len(mydata['fits']) >2:
list1.append(mydata)
list2.append([k,dict1[k]['name']])
x = requests.post('http://192.168.31.163:3003', data = json.dumps(list1), headers=headers)
print(id,dict1[k]['name'],x.text)
#x.close()
In [ ]:
import json
import time
import csv
list1 = []
filename = 'data/person_134.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)
dict1 = {}
for result in list1:
code = str(result[4])
if int(result[1]) == 0:
sex = '男'
else:
sex = '女'
m_item = str(result[3])
dict1.setdefault(code,{})
dict1[code]['name'] = result[0]
dict1[code]['sex'] = sex
dict1[code]['birth'] = result[2]
filename = 'data/天津石化人员清单.json'
with open(filename,'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print(len(dict1)) In [ ]:
import json
import psycopg2
from psycopg2 import extras as ex
filename = '../item.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
data_list = []
for k, v in dict1.items():
data_list.append((int(k),v['name']))
conn = psycopg2.connect(database="mycrm", user="postgres", password="songyi", host="localhost", port="5432")
cursor = conn.cursor()
sql = 'insert into shijiazhuang_item (id,name) values %s'
ex.execute_values(cursor, sql, data_list, page_size=10000)
#conn.commit()
cursor.close()
conn.close()
print('ok!')In [ ]:
import json
import psycopg2
from psycopg2 import extras as ex
conn = psycopg2.connect(database="mycrm", user="postgres", password="songyi", host="localhost", port="5432")
cursor = conn.cursor()
filename = 'data/result_石家庄.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
unit = set()
for k, v in dict1.items():
#if 'sub_unit' not in v.keys():
# print(k,v['name'])
unit.add(v['unit'])
print(unit)
i = 1
dict2 = {}
for item in unit:
dict2[item] = i
i+=1
data_list = []
for k, v in dict2.items():
data_list.append((v,k))
sql = 'insert into shijiazhuang_unit (id,name) values %s'
ex.execute_values(cursor, sql, data_list, page_size=10000)
#conn.commit()
cursor.close()
conn.close()
print('ok!')In [ ]:
import json
import psycopg2
from psycopg2 import extras as ex
conn = psycopg2.connect(database="mycrm", user="postgres", password="songyi", host="localhost", port="5432")
cursor = conn.cursor()
filename = 'data/天津石化人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
unit = set()
for k, v in dict1.items():
#if 'sub_unit' not in v.keys():
# print(k,v['name'])
unit.add(v['unit'])
print(unit)
i = 1
dict2 = {}
for item in unit:
dict2[item] = i
i+=1
data_list = []
dict3 = {}
for k, v in dict1.items():
dict3.setdefault(v['unit'],set())
dict3[v['unit']].add(v['sub_unit'])
i = 1
for k, v in dict3.items():
unit_id = dict2[k]
for item in v:
data_list.append((i,item,unit_id))
i+=1
sql = 'insert into tianjin_sub_unit (id,name,unit_id) values %s'
ex.execute_values(cursor, sql, data_list, page_size=10000)
#conn.commit()
cursor.close()
conn.close()
print('ok!')In [ ]:
import json
import csv
dict1 = {}
filename = 'data/shijiazhuang_unit_20230517.csv'
with open(filename,'r',newline='') as csv_file:
fl = csv.reader(csv_file,delimiter=',')
header = next(fl)
list1 = []
for line in fl:
#line = re.sub('[\r\n\f ]{1,}', '', line)
list1.append({'id':int(line[0]),'name':line[1]})
dict1['unit'] = list1
filename = 'data/sub_unit_134.csv'
with open(filename,'r',newline='') as csv_file:
fl = csv.reader(csv_file,delimiter=',')
header = next(fl)
list1 = []
for line in fl:
#line = re.sub('[\r\n\f ]{1,}', '', line)
list1.append({'id':int(line[0]),'name':line[1],'unit_id':int(line[2])})
dict1['sub_unit'] = list1
print(dict1)
filename = 'data/天津石化部门.json'
with open(filename,'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print(len(dict1)) In [ ]:
import json
import csv
dict1 = {}
filename = 'data/shijiazhuang_unit_20230517.csv'
with open(filename,'r',newline='') as csv_file:
fl = csv.reader(csv_file,delimiter=',')
header = next(fl)
list1 = []
for line in fl:
#line = re.sub('[\r\n\f ]{1,}', '', line)
list1.append({'id':int(line[0]),'name':line[1]})
dict1[int(line[0])] = line[1]
filename = 'data/石家庄石化部门.json'
with open(filename,'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print(len(dict1)) In [ ]:
import json
import psycopg2
from psycopg2 import extras as ex
conn = psycopg2.connect(database="mycrm", user="postgres", password="songyi", host="localhost", port="5432")
cursor = conn.cursor()
filename = 'data/天津石化人员清单.json'
with open(filename,'r') as fl:
person = json.load(fl)
filename = 'data/石家庄石化部门.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
i = 1
dict2 = {}
for item in unit:
dict2[item] = i
i+=1
data_list = []
dict3 = {}
dict4 = {}
for k, v in dict1.items():
dict3.setdefault(v['unit'],set())
dict3[v['unit']].add(v['sub_unit'])
i = 1
for k, v in dict3.items():
unit_id = dict2[k]
for item in v:
data_list.append((i,item,unit_id))
i+=1
for item in data_list:
sub_id = item[0]
dict4[sub_id] = {'name':item[1],'unit':item[2]}
dict5 = {}
for k, v in dict1.items():
id_unit = dict2[v['unit']]
sub_name = v['sub_unit']
id_sub = 0
for k1, v1 in dict4.items():
if v1['name'] == sub_name and v1['unit'] == id_unit:
id_sub = int(k1)
if id_sub >0:
dict5[k] = {'unit':id_unit,'sub_unit':id_sub}
else:
print(k,'not fund')
data_list = []
for k, v in dict5.items():
id = int(k)
name = person[k]['name']
sex = person[k]['sex']
birth = person[k]['birth']
phone = ''
note = ''
unit = v['sub_unit']
data_list.append((id,name,sex,birth,unit))
sql = 'insert into tianjin_person (id,name,sex,birth,unit_id) values %s'
ex.execute_values(cursor, sql, data_list, page_size=10000)
#conn.commit()
cursor.close()
conn.close()
print('ok!')
In [ ]:
import json
import psycopg2
from psycopg2 import extras as ex
conn = psycopg2.connect(database="mycrm", user="postgres", password="songyi", host="localhost", port="5432")
cursor = conn.cursor()
filename = 'data/石家庄石化部门.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict3 = {}
for k,v in dict1.items():
dict3[v] = int(k)
filename = 'data/result_石家庄.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
data_list = []
for k, v in dict2.items():
id = int(k)
name = dict2[k]['name']
sex = dict2[k]['sex']
birth = dict2[k]['birth']
unit = dict3[dict2[k]['unit']]
data_list.append((id,name,sex,birth,unit))
sql = 'insert into shijiazhuang_person (id,name,sex,birth,unit_id) values %s'
ex.execute_values(cursor, sql, data_list, page_size=10000)
#conn.commit()
cursor.close()
conn.close()
print('ok!') In [ ]:
import json
import psycopg2
from psycopg2 import extras as ex
filename = '../item.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict2 = {}
for k, v in dict1.items():
dict2[v['name']] = int(k)
filename = 'data/天津石化部门.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
unit = {}
for item in dict1['unit']:
unit[item['name']] = item['id']
sub_unit = {}
for item in dict1['sub_unit']:
sub_unit.setdefault(item['unit_id'],[])
sub_unit[item['unit_id']].append({'id':item['id'],'name':item['name']})
filename = 'data/天津石化人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
person = {}
for k, v in dict1.items():
person[k] = {'unit':v['unit'],'sub_unit':v['sub_unit']}
conn = psycopg2.connect(database="mycrm", user="postgres", password="songyi", host="localhost", port="5432")
cursor = conn.cursor()
data_list = []
filename = 'data/result_天津.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k, v in dict1.items():
for item in v.keys():
if item in dict2.keys():
item_id = dict2[item]
if v[item]['得分'] == '\\N':
score = None
else:
score = int(v[item]['得分'])
unit_name = person[k]['unit']
sub_unit_name = person[k]['sub_unit']
unit_id = unit[unit_name]
for items in sub_unit[unit_id]:
if items['name'] ==sub_unit_name:
sub_id = items['id']
data_list.append((v[item]['成绩'],score,int(k),item_id,unit_id,sub_id))
sql = 'insert into tianjin_records (performance,score,avatar_id_id,item_id_id,unit_id_id,sub_unit_id_id) values %s'
ex.execute_values(cursor, sql, data_list, page_size=10000)
#conn.commit()
cursor.close()
conn.close()
print('ok!')
In [ ]:
import json
import psycopg2
from psycopg2 import extras as ex
filename = '../item.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict2 = {}
for k, v in dict1.items():
dict2[v['name']] = int(k)
filename = 'data/石家庄石化部门.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict3 = {}
for k,v in dict1.items():
dict3[v] = int(k)
conn = psycopg2.connect(database="mycrm", user="postgres", password="songyi", host="localhost", port="5432")
cursor = conn.cursor()
data_list = []
filename = 'data/result_石家庄.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k, v in dict1.items():
for item in v.keys():
if item in dict2.keys():
item_id = dict2[item]
if v[item]['得分'] == '':
score = None
else:
score = int(v[item]['得分'])
unit_name = v['unit']
unit_id = dict3[unit_name]
data_list.append((v[item]['成绩'],score,int(k),item_id,unit_id))
sql = 'insert into shijiazhuang_records (performance,score,avatar_id_id,item_id_id,unit_id_id) values %s'
ex.execute_values(cursor, sql, data_list, page_size=10000)
#conn.commit()
cursor.close()
conn.close()
print('ok!')In [ ]:
import json
import psycopg2
from psycopg2 import extras as ex
filename = '../item.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict2 = {}
for k, v in dict1.items():
dict2[v['name']] = int(k)
filename = 'data/天津石化部门.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
unit = {}
for item in dict1['unit']:
unit[item['name']] = item['id']
print(unit)In [19]:
import json
import openpyxl
filename = 'data/result_天津231017.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 = []
fiie_path ='./134/'
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']
mydata['score'] = round(score/len(mydata['fits']),2)
if len(mydata['fits']) >2:
dict2[str(k)] = mydata
filename = f'data/data_天津231017.json'
with open(filename,'w') as fl:
json.dump(dict2,fl , ensure_ascii=False)
print('ok!') ok!
In [28]:
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)
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/5383,4)}分,总体:5383人')平均成绩:2.4704分,男性:3788人 平均成绩:2.8269分,女性:1595人 平均成绩:2.576分,总体:5383人
In [31]:
import json
items = ['体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/data_天津231017.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))
with open(filename,'w') as fl:
json.dump(dict1, fl)
print('ok')0~255分人数:2524人,男性:2056人,女性:468人 256~332分人数:2214人,男性:1400人,女性:814人 333~367分人数:495人,男性:274人,女性:221人 368~500分人数:150人,男性:58人,女性:92人 5383 ok
In [32]:
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 {'不合格': 131, '合格': 177, '良好': 25, '优秀': 5}
25-29 {'不合格': 54, '良好': 21, '合格': 90, '优秀': 3}
30-34 {'不合格': 14, '合格': 46, '良好': 11, '优秀': 4}
35-39 {'不合格': 30, '良好': 32, '合格': 77, '优秀': 8}
40-44 {'不合格': 46, '合格': 84, '优秀': 12, '良好': 24}
45-49 {'合格': 204, '不合格': 112, '良好': 69, '优秀': 32}
50-54 {'合格': 136, '不合格': 81, '优秀': 28, '良好': 39}
55-80 {'合格': 0, '不合格': 0, '良好': 0, '优秀': 0}
In [33]:
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 {'不合格': 426, '合格': 240, '良好': 34, '优秀': 6}
25-29 {'不合格': 196, '良好': 34, '合格': 138, '优秀': 4}
30-34 {'不合格': 90, '合格': 59, '良好': 13, '优秀': 3}
35-39 {'不合格': 171, '良好': 33, '合格': 119, '优秀': 5}
40-44 {'不合格': 114, '合格': 103, '优秀': 6, '良好': 22}
45-49 {'合格': 179, '不合格': 245, '良好': 39, '优秀': 3}
50-54 {'合格': 345, '不合格': 502, '优秀': 22, '良好': 60}
55-80 {'合格': 217, '不合格': 312, '良好': 39, '优秀': 9}
In [24]:
nld = [[16,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 = 0
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
if i ==0:
print(f'{di}~{gao}岁平均成绩:0分,人数:0人,男性:{m}人')
else:
print(f'{di}~{gao}岁平均成绩:{round(score/i,2)}分,人数:{i-1}人,男性:{m}人')16~24岁平均成绩:2.47分,人数:1044人,男性:706人 25~29岁平均成绩:2.58分,人数:540人,男性:372人 30~34岁平均成绩:2.6分,人数:240人,男性:165人 35~39岁平均成绩:2.64分,人数:475人,男性:328人 40~44岁平均成绩:2.69分,人数:411人,男性:245人 45~49岁平均成绩:2.68分,人数:883人,男性:466人 50~54岁平均成绩:2.57分,人数:1213人,男性:929人 55~69岁平均成绩:2.48分,人数:577人,男性:577人
In [26]:
import json
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 = 0
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
if i ==0:
print(f'{di}~{gao}岁平均成绩:0分,人数:{i}人')
else:
print(f'{di}~{gao}岁平均成绩:{round(score/i,2)}分,人数:{i}人')20~24岁平均成绩:2.39分,人数:706人 25~29岁平均成绩:2.5分,人数:372人 30~34岁平均成绩:2.47分,人数:165人 35~39岁平均成绩:2.5分,人数:328人 40~44岁平均成绩:2.57分,人数:245人 45~49岁平均成绩:2.48分,人数:466人 50~54岁平均成绩:2.47分,人数:929人 55~80岁平均成绩:2.48分,人数:577人
In [27]:
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 = 0
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
if i ==0:
print(f'{di}~{gao}岁平均成绩:0分,人数:{i}人')
else:
print(f'{di}~{gao}岁平均成绩:{round(score/i,2)}分,人数:{i}人')20~24岁平均成绩:2.65分,人数:338人 25~29岁平均成绩:2.74分,人数:168人 30~34岁平均成绩:2.88分,人数:75人 35~39岁平均成绩:2.95分,人数:147人 40~44岁平均成绩:2.85分,人数:166人 45~49岁平均成绩:2.9分,人数:417人 50~54岁平均成绩:2.89分,人数:284人 55~80岁平均成绩:0分,人数:0人
In [34]:
with open(filename,'r') as fl:
dict1 = json.load(fl)
items = ['BMI','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
for item in items:
score = 0
n = 0
for k, v in dict1.items():
if item in v['fits'].keys():
n = n + 1
score =score + int(v['fits'][item]['score'])
print(item,round(score/n,2),n)BMI 3.53 5344 肺活量 3.3 5270 握力 1.36 5291 坐位体前屈 2.87 4581 纵跳 1.93 4632 俯卧撑 2.49 3085 一分钟仰卧起坐 3.85 1034 单脚站立 1.96 5180 选择反应时 2.93 5300 台阶指数 2.6 2164
In [35]:
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.56 469 南港烯烃部 2.48 681 消防支队 2.52 72 炼油部 2.63 1191 化工部 2.58 522 电仪部 2.4 322 物资采购中心 2.67 84 水务部 2.53 396 运输销售部 2.44 199 原油储运部 2.5 178 聚醚部 2.63 112 公司机关 2.65 112 南港乙烯项目管理部 2.61 15 党委党校(培训中心) 2.79 48 装备研究院 2.71 48 热电部 2.63 412 烯烃部 2.63 320 行政事务中心 2.6 41 信息档案管理中心 2.84 60 研究院 2.82 101
In [ ]:
In [ ]:
In [ ]:
import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["baogao"]
mycol = mydb["place"]
mydict = { "id": "469849","name": "长炼医院", }
x = mycol.insert_one(mydict) In [ ]:
import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["baogao"]
mycol = mydb["pdf"]
mydict = { "place": "714309","code":"4","name": "朱维", }
x = mycol.insert_one(mydict) In [ ]:
import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["baogao"]
mycol = mydb["pdf"]
mydict = { "place": "714309","code":"4","name": "朱维", }
x = mycol.find_one(mydict)
print(x)In [ ]: