85 KiB
85 KiB
In [ ]:
import json
import time
import csv
filename = '../item.json'
item = {}
bh = set()
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k,v in dict1.items():
item[k] = v
re_ta = {}
dict1 = {}
list1 = []
list2 = []
rq = '20240612'
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)
bh.add(line[2])
#print(list1)
for result in list1:
user = str(result[2])
m_item = str(result[3])
re_ta.setdefault(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))
items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
list1 = []
for k, v in re_ta.items():
list2 = []
list2.append(str(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 = 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
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
filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k,v in dict1.items():
item[k] = v
del item[k]['divisor']
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/体质检测项目信息.json'
with open(filename, 'w') as fl:
json.dump(item, 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 openpyxl
import json
wb = openpyxl.load_workbook('data/镇海手工数据.xlsx',data_only=True)
sheet = wb.active
s = ''
list1 = []
for n in range(2, sheet.max_row+1):
ss = ''
list2 = []
list2.append("'"+str(sheet.cell(n, 1).value)+"'")
list2.append("'"+str(sheet.cell(n, 2).value)+"'")
list2.append("'"+str(sheet.cell(n, 3).value)+"'")
list2.append("'"+str(sheet.cell(n, 4).value)+"'")
list2.append("'"+str(sheet.cell(n, 5).value)+"'")
#list2.append("'"+str(sheet.cell(n, 6).value)+"'")
ss = ','.join(list2)
list1.append("("+ss+")")
s = ','.join(list1)
print(s)
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/天津石化人员2024.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/places_result_20241104.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))In [ ]:
import json
import time
filename = '../item1.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_长炼医院人员2024(湖南青年).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_长炼医院人员2024(湖南青年).json'
with open(filename,'w') as fl:
json.dump(dict2,fl , ensure_ascii=False)
print('ok!') In [ ]:
import requests
import json
import openpyxl
headers = {
"Content-Type": "application/json; charset=UTF-8"
}
filename = 'data/result_北海2025-1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
file_path ='./北海炼化2025-1/'
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp','bmi']
i=0
list2 = []
for k, v in dict1.items():
list1 = []
mydata = {}
#id = str(k).rjust(8,"0")
id = str(k).rjust(4,"0")
mydata['path'] = file_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'] = {}
survey_list = ['tcm','psy','spine']
for item in survey_list:
if item in v.keys():
mydata.setdefault('surveys',{})
mydata['surveys'][item] = v[item]
#mydata['fits'] = {}
for item in list_item:
if item in v.keys():
mydata.setdefault('fits',{})
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 or len(mydata['surveys']) >0:
#if len(mydata['fits']) >2 :
list1.append(mydata)
list2.append([k,v['name']])
i+=1
x = requests.post('http://localhost:3003', data = json.dumps(list1), headers=headers)
#print(id,v['name'],x.text)
#print(mydata)
#x.close()
print(i)In [ ]:
import requests
import json
import openpyxl
headers = {
"Content-Type": "application/json; charset=UTF-8"
}
filename = 'data/result_镇海2025-1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
file_path ='./镇海石化2025/'
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp','bmi']
i=0
list2 = []
person =['X00309','012947','013304','007231','007243','013612']
for k, v in dict1.items():
list1 = []
mydata = {}
#id = str(k).rjust(8,"0")
id = str(k)
if id in person:
mydata['path'] = file_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'] = {}
survey_list = ['tcm','psy','spine']
for item in survey_list:
if item in v.keys():
mydata.setdefault('surveys',{})
mydata['surveys'][item] = v[item]
#mydata['fits'] = {}
for item in list_item:
if item in v.keys():
mydata.setdefault('fits',{})
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 or len(mydata['surveys']) >0:
if len(mydata['fits']) >2 :
list1.append(mydata)
list2.append([k,v['name']])
i+=1
x = requests.post('http://localhost:3003', data = json.dumps(list1), headers=headers)
#print(id,v['name'],x.text)
#print(mydata)
#x.close()
print(i)In [ ]:
import requests
import json
import openpyxl
headers = {
"Content-Type": "application/json; charset=UTF-8"
}
filename = 'data/result_胜利采油厂1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
file_path ='./胜利采油厂/'
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp','bmi']
i=0
list2 = []
for k, v in dict1.items():
list1 = []
mydata = {}
id = str(k).rjust(4,"0")
mydata['path'] = file_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'] = {}
survey_list = ['tcm','psy','spine']
for item in survey_list:
if item in v.keys():
mydata.setdefault('surveys',{})
mydata['surveys'][item] = v[item]
#mydata['fits'] = {}
for item in list_item:
if item in v.keys():
mydata.setdefault('fits',{})
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 or len(mydata['surveys']) >0:
list1.append(mydata)
list2.append([k,v['name']])
i+=1
x = requests.post('http://localhost:3003', data = json.dumps(list1), headers=headers)
#print(id,v['name'],x.text)
#print(mydata)
#x.close()
print(i)In [ ]:
import os,sys,shutil
import json
import glob
from pathlib import Path
fi_path = '/home/songyi/pdf-typescript-old2/北海炼化2025'
new_path = 'file/北海炼化2025'
old = []
dict2 = {}
filename = 'data/result_北海2025-1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
fls = glob.glob(f'{fi_path}/*.pdf')
print(len(fls))
for fn in fls:
fi_name =Path(fn).stem.split('-')[0]
code = str(int(fi_name))
unit_path = Path(new_path,dict1[str(code)]['unit'])
unit_path.mkdir(parents = True, exist_ok = True)
n_name = Path(unit_path,Path(fn).stem+'.pdf')
#if not os.path.exists(n_name):
shutil.copyfile(fn,n_name)
print(fn)In [ ]:
import os,sys,shutil
import json
import glob
from pathlib import Path
import openpyxl
fi_path = '/home/songyi/pdf-typescript-old2/北海炼化2025'
filename = 'data/result_北海2025-1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
fls = glob.glob(f'{fi_path}/*.pdf')
list1 = []
title = ['测试编号','姓名','性别','部门']
for fn in fls:
list2 = []
fi_name =Path(fn).stem.split('-')[0]
code = str(int(fi_name))
sex = dict1[str(code)]['sex']
unit = dict1[str(code)]['unit']
list2 = [fi_name,Path(fn).stem.split('-')[1],sex,unit]
list1.append(list2)
filename = 'data/2025年北海炼化体测报告明细表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
sheet.append(row)
wb.save(filename)
print('ok')In [ ]:
import os,sys,shutil
import json
import glob
from pathlib import Path
import openpyxl
fi_path = '/home/songyi/pdf-typescript/北海炼化2024'
filename = 'data/result_北海炼化2024.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
print(len(dict1))
fls = glob.glob(f'{fi_path}/*.pdf')
list1 = []
for fn in fls:
fi_name =Path(fn).stem.split('-')[0]
code = int(fi_name)
list1.append(str(code))
for k, v in dict1.items():
if k not in list1:
print(k)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 [ ]:
import json
import openpyxl
filename = 'data/result_北海2025.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 ='./138/'
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_北海炼化2025.json'
with open(filename,'w') as fl:
json.dump(dict2,fl , ensure_ascii=False)
print(len(dict2)) In [ ]:
import json
nld = [[20,24],[25,29],[30,34],[35,39],[40,44],[45,49],[50,54],[55,80]]
filename = 'data/data_北海炼化2025.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/(f+m),4)}分,总体:{(f+m)}人')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))
with open(filename,'w') as fl:
json.dump(dict1, fl)
print('ok')In [ ]:
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)In [ ]:
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)In [ ]:
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}人,男性:{m}人')In [ ]:
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}人')In [ ]:
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}人')In [ ]:
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)In [ ]:
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)In [ ]:
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'] and v['sex'] == '男':
score = score + v['score']
n = n +1
if n>0:
print(item,round(score/n,2),n)
else:
print(item,0,n)In [ ]:
import json
items = ['优秀','良好','合格','不合格']
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict3 = {}
for k, v in dict1.items():
unit = v['unit']
dict3.setdefault(unit,{})
for item in items:
dict3[unit].setdefault(item,0)
for k, v in dict1.items():
unit = v['unit']
#dict3.setdefault(unit,{})
#for item in items:
#dict3[unit].setdefault(v['level'],0)
dict3[unit][v['level']] +=1
for k, v in dict3.items():
print(k,v['优秀'],v['良好'],v['合格'],v['不合格'])In [ ]:
import json
items = ['BMI','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/data_镇海2025.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict3 = {}
for k, v in dict1.items():
unit = v['unit']
dict3.setdefault(unit,{})
for item in items:
dict3[unit].setdefault(item,{})
dict3[unit][item].setdefault('score',0)
dict3[unit][item].setdefault('count',0)
for k1,v1 in v['fits'].items():
if k1 in items:
dict3[unit][k1]['score']+=v1['score']
dict3[unit][k1]['count']+=1
for k, v in dict3.items():
print(k)
for k1, v1 in v.items():
print(k1,v1['score'],v1['count'])In [123]:
items = ['BMI','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/data_镇海2025.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
banci = []
for k, v in dict1.items():
if v['banci'] not in banci:
banci.append(v['banci'])
for item in banci:
score = 0
n = 0
for k, v in dict1.items():
if item == v['banci'] and v['sex'] == '女':
score = score + v['score']
n = n +1
print(item,round(score/n,2),n)白班 3.49 174 倒班 3.35 103 值班 3.4 18
In [125]:
import json
items = ['优秀','良好','合格','不合格']
dict3 = {}
for k, v in dict1.items():
banci = v['banci']
dict3.setdefault(banci,{})
for item in items:
dict3[banci].setdefault(item,0)
for k, v in dict1.items():
banci = v['banci']
#dict3.setdefault(unit,{})
#for item in items:
#dict3[unit].setdefault(v['level'],0)
if v['sex'] =='男':
dict3[banci][v['level']] +=1
for k, v in dict3.items():
print(k,v['优秀'],v['良好'],v['合格'],v['不合格'])白班 97 152 219 36 倒班 76 184 266 70 值班 43 60 61 5
In [126]:
import json
items = ['BMI','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/data_镇海2025.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict3 = {}
for k, v in dict1.items():
unit = v['banci']
dict3.setdefault(unit,{})
for item in items:
dict3[unit].setdefault(item,{})
dict3[unit][item].setdefault('score',0)
dict3[unit][item].setdefault('count',0)
for k1,v1 in v['fits'].items():
if k1 in items:
dict3[unit][k1]['score']+=v1['score']
dict3[unit][k1]['count']+=1
for k, v in dict3.items():
print(k)
for k1, v1 in v.items():
print(k1,v1['score'],v1['count'])白班 BMI 2697 677 肺活量 2703 678 握力 1693 678 坐位体前屈 1901 676 纵跳 2435 675 俯卧撑 1978 497 一分钟仰卧起坐 722 169 单脚站立 2003 674 选择反应时 2289 673 台阶指数 1698 667 倒班 BMI 2571 699 肺活量 2727 698 握力 1794 698 坐位体前屈 1852 697 纵跳 2321 697 俯卧撑 2310 586 一分钟仰卧起坐 385 98 单脚站立 1921 693 选择反应时 2273 697 台阶指数 1749 691 值班 BMI 719 187 肺活量 701 187 握力 487 185 坐位体前屈 541 186 纵跳 666 187 俯卧撑 742 168 一分钟仰卧起坐 68 17 单脚站立 534 186 选择反应时 656 187 台阶指数 561 184
In [ ]:
import json
questions = [
[1],
[-1, 2],
[-1, 2],
[-1, 8],
[-1, 3],
[1],
[-1],
[-1, 7],
[2],
[2],
[2],
[2, 3],
[2],
[2],
[3],
[3],
[3],
[3],
[3],
[4],
[4],
[4],
[4],
[4],
[4],
[4],
[4],
[5],
[5],
[5],
[5],
[5],
[5],
[5],
[5],
[6],
[6],
[6],
[6],
[6],
[6],
[7],
[7],
[7],
[7],
[7],
[7],
[8],
[8],
[8],
[8],
[8],
[8],
[9],
[9],
[9],
[9],
[9],
[9],
[9]
]
kinds = [
'平和',
'气虚',
'阳虚',
'阴虚',
'痰湿',
'湿热',
'血瘀',
'气郁',
'特禀'
]
def tcm_calc(arr):
qa = [8, 8, 7, 8, 8, 6, 7, 7, 7]
# 成绩数组
s = [0] * 9
# 遍历五进制
for i in range(len(questions)):
m = arr[i] - 1
for v in questions[i]:
if v < 0:
s[-v - 1] += 4 - m
else:
s[v - 1] += m
return [int((v / qa[i]) * 25) for i, v in enumerate(s)]
def tcm_kind(score):
kind = 0
near = False
max_kind = 0
max_score = 0
for i in range(1, 9):
if score[i] > max_score:
max_kind = i
max_score = score[i]
if score[0] >= 60 and max_score < 40:
if max_score >= 30:
near = True
kind = max_kind
else:
kind = max_kind
return {
"kind": kind,
"near": near
}
list2 = ['成就感','愉快心境','放松程度','压力应对','体力充沛','情感充沛度']
list3 = [[5,7],[7,4],[7,4],[7,4],[8,1],[6,1]]
list4 = ['颈椎','胸椎','腰椎','骶尾椎']
list5 = [[0,10,10],[10,17,7],[17,24,6],[24,26,2]]
qb = [
1, 1, 1, 1, 1,
4, 3, 2, 3, 2, 4, 3,
4, 3, 2, 4, 4, 2, 4,
3, 2, 2, 4, 3, 3, 2,
5, 5, 5, 5, 5, 5, 5, 5,
6, 6, 6, 6, 6, 6
]In [ ]:
import openpyxl
filename = 'data/result_南京化工-3.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
i = 1
list2 = []
for k, v in dict1.items():
if 'tcm' in v.keys():
list1 = []
tcm =v['tcm']
for item in tcm:
list1.append(item)
score = tcm_calc(list1)
result = tcm_kind(score)
kind = result['kind']
near = result['near']
#print(i,k,kinds[kind], near, score)
#i+=1
list3 = []
list3.append(k)
list3.append(v['name'])
list3.append(v['sex'])
list3.append(kinds[kind])
list3.append(near)
for item in score:
list3.append(item)
list2.append(list3)
print(list2)
filename = 'data/南京化工中医情况明细表(202510).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list2:
sheet.append(row)
wb.save(filename)
print('ok') In [ ]:
list2 = ['成就感','愉快心境','放松程度','压力应对','体力充沛','情感充沛度']
list3 = [[5,7],[7,4],[7,4],[7,4],[8,1],[6,1]]
qb = [
1, 1, 1, 1, 1,
4, 3, 2, 3, 2, 4, 3,
4, 3, 2, 4, 4, 2, 4,
3, 2, 2, 4, 3, 3, 2,
5, 5, 5, 5, 5, 5, 5, 5,
6, 6, 6, 6, 6, 6
]
filename = 'data/result_北海炼化2024.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list4 = []
for k, v in dict1.items():
if 'psy' in v.keys():
list5 = []
psy=v['psy']
for i in range(26,40):
new_valve = psy[i]-1
psy[i] = new_valve
dict3 = {}
i = 0
for item in qb:
dict3.setdefault(item,0)
dict3[item] +=psy[i]
i+=1
#print(dict3)
list5.append(k)
for i in range(0,6):
score = int(dict3[i+1]/list3[i][0]/list3[i][1]*100)
list5.append(score)
list4.append(list5)
filename = 'data/北海炼化心理情况明细表2024.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list4:
sheet.append(row)
wb.save(filename)
print('ok') In [ ]:
list4 = ['颈椎','胸椎','腰椎','骶尾椎']
list5 = [[0,10,10],[10,17,7],[17,24,6],[24,26,2]]
filename = 'data/result_新疆油田采油工艺研究院-1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list6 = []
for k, v in dict1.items():
if 'spine' in v.keys():
list7 = []
spine = v['spine']
list7.append(k)
for i in range(0,4):
score = 0
for ii in range(list5[i][0],list5[i][1]):
score+= spine[ii]
#print(k,list4[i],int(score/list5[i][2]*100)-100)
list7.append(int(score/list5[i][2]*100)-100)
list6.append(list7)
filename = 'data/新疆油田采油工艺研究院脊柱情况明细表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list6:
sheet.append(row)
wb.save(filename)
print('ok') In [ ]:
list4 = ['颈椎','胸椎','腰椎','骶尾椎']
list5 = [[0,10,10],[10,17,7],[17,24,6],[24,26,2]]
filename = 'data/result_北海炼化2024.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list6 = []
for k, v in dict1.items():
if 'spine' in v.keys():
list7 = []
spine = v['spine']
list7.append(k)
list7.append(v['name'])
list7.append(v['sex'])
list7.append(v['age'])
for i in range(0,4):
score = 0
for ii in range(list5[i][0],list5[i][1]):
score+= spine[ii]
#print(k,list4[i],int(score/list5[i][2]*100)-100)
list7.append(int(score/list5[i][2]*100)-100)
for item in v['spine']:
list7.append(item)
list6.append(list7)
filename = 'data/北海炼化脊柱情况明细表2024.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list6:
sheet.append(row)
wb.save(filename)
print('ok') In [ ]:
import openpyxl
list_item = ['lung','grip','flexion','jump','pushup','balance','reaction','step','situp']
filename = 'data/result_北海2025-1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
data_list = []
for k, v in dict1.items():
list6 = []
list6.append(str(k).rjust(4,'0'))
list6.append(v['name'])
list6.append(v['sex'])
list6.append(v['unit'])
list6.append(v['age'])
if 'bmi' in v.keys():
bmi = v['bmi']['成绩']
list6.append(bmi.split(',')[0]+' 厘米')
list6.append(bmi.split(',')[1]+' 千克')
list6.append(v['bmi']['score'])
else:
list6.append('')
list6.append('')
list6.append('')
for xm in list_item:
if xm in v.keys():
list6.append(v[xm]['成绩'])
list6.append(v[xm]['score'])
else:
list6.append('')
list6.append('')
if 'tcm' in v.keys():
list1 = []
tcm =v['tcm']
for item in tcm:
list1.append(item)
score = tcm_calc(list1)
result = tcm_kind(score)
kind = result['kind']
near = result['near']
#print(k,kinds[kind], near, score)
list6.append(kinds[kind])
if near:
list6.append('是')
else:
list6.append('')
for item in score:
list6.append(item)
else:
for i in range(0,11):
list6.append('')
i+=1
if 'psy' in v.keys():
psy=v['psy']
for i in range(26,40):
new_valve = psy[i]-1
psy[i] = new_valve
dict3 = {}
i = 0
for item in qb:
dict3.setdefault(item,0)
dict3[item] +=psy[i]
i+=1
for i in range(0,6):
score = int(dict3[i+1]/list3[i][0]/list3[i][1]*100)
list6.append(score)
else:
for i in range(0,6):
list6.append('')
i+=1
if 'spine' in v.keys():
spine = v['spine']
for i in range(0,4):
score = 0
for ii in range(list5[i][0],list5[i][1]):
score+= spine[ii]
list6.append(int(score/list5[i][2]*100)-100)
else:
for i in range(0,4):
list6.append('')
i+=1
data_list.append(list6)
filename = 'data/北海炼化情况明细表(2025年).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
title = ['编号', '姓名', '性别', '单位/部门', '年龄', '身高', '体重', 'bmi', '肺活量', '得分', '握力', '得分', '坐位体前屈', '得分', '纵跳', '得分', '俯卧撑', '得分', '单脚站立', '得分', '选择反应时', '得分', '台阶指数', '得分', '一分钟仰卧起坐', '得分', '中医体质', '是否倾向', '平和', '气虚', '阳虚', '阴虚', '痰湿', '湿热', '血瘀', '气郁', '特禀', '成就感', '愉快心理', '放松程度', '压力应对', '体力充沛', '情感充沛度', '颈椎', '胸椎', '腰椎', '骶尾椎']
sheet.append(title)
for row in data_list:
sheet.append(row)
wb.save(filename) In [ ]: