This commit is contained in:
512song committed 2025-03-15 20:12:08 +08:00
1 parent fe91eda8cc
commit 462f74a745
2 files changed
+278 -153

No files matched your search

+92 -1
View File
@@ -3,6 +3,8 @@ sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
import json
import time
from datetime import date
import csv
filename = 'data/体质检测标准 (1).json'
with open(filename,'r') as fl:
@@ -66,4 +68,93 @@ def cal_bmi(data1):
score = 3
elif weight > mx[3]:
score = 1
return score
return score
def get_wenjuan(list1,phone,dict1,dict3):
nn = 0
for item in list1:
if item[2] in phone.keys():
psy =[]
tcm = []
spine = []
for i in range(0,30):
psy.append(0)
for i in range(0,60):
tcm.append(0)
for i in range(0,26):
spine.append(0)
content = json.loads(item[5])
if phone[item[2]] not in dict1.keys():
dict1[phone[item[2]]] = dict3[phone[item[2]]]
rq = date.fromisoformat(item[6].replace('/','-').split(' ')[0])
dict1[phone[item[2]]]['rq'] = item[6].replace('/','-').split(' ')[0]
else:
rq = dict1[phone[item[2]]]['rq'].replace('/','-').split(' ')[0]
for k, v in content.items():
if 'psyOld' in k:
i = int(k[6:])
psy[i-1] = int(v)
if 'tcm' in k:
i = int(k[3:])
tcm[i-1] = int(v)
if 'spine' in k:
i = int(k[5:])
spine[i-1] = int(v)
if 'psyOld' in item[5]:
dict1[phone[item[2]]]['psy_yangmiao_old'] = psy
if 'tcm' in item[5]:
dict1[phone[item[2]]]['tcm'] = tcm
if 'spine' in item[5]:
for ii in range(25,23,-1):
spine[ii] = spine[ii-1]
spine[22] = 0
dict1[phone[item[2]]]['spine'] = spine
birth = date.fromisoformat(dict3[phone[item[2]]]['birth'].replace('/','-'))
rq = date.fromisoformat(dict1[phone[item[2]]]['rq'].replace('/','-'))
days = (rq-birth).days
dict1[phone[item[2]]]['age'] = int(days/365)
dict1[phone[item[2]]]['month'] = int(days/365*12)
nn+=1
data1 = [dict1,nn]
return(data1)
def get_result(filename,dict1):
re_ta = {}
list1 = []
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)
for result in list1:
user = str(result[2])
rq = date.fromisoformat(result[5].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 'phone' in dict1[user].keys():
re_ta[user]['phone'] = dict1[user]['phone']
if dict1[user]['sex'] == '男':
l_xm = ['bmi','lung','grip','flexion','jump','pushup','balance','reaction','step']
else:
l_xm = ['bmi','lung','grip','flexion','jump','balance','reaction','step','situp']
#re_ta[user]['unit'] = dict1[user]['unit']
birth = date.fromisoformat(dict1[user]['birth'].replace('/','-'))
item_name = result[3]
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[5]
re_ta[user].setdefault(item_name,{})
score = result[4]
re_ta[user][item_name]['成绩'] = score
return(re_ta)