23 KiB
23 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':59,'item':'PowerfullGrip','result':51.0}
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':59,'item':'HeightWeight','result':'177.0,81.1'}
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 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 tianjin_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/天津石化人员名单.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 tianjin_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/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]})
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 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)
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 = {}
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 [84]:
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!')
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']
print(unit_id,sub_id)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)