19 KiB
19 KiB
In [30]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/新疆油田采油工艺研究院.xlsx',data_only=True)
sheet = wb.active
# sheets = wb.sheetnames
person = {}
for n in range(2, sheet.max_row+1):
code = int(sheet.cell(n, 1).value)
person.setdefault(code, {})
dict1 = {}
dict1['name'] = sheet.cell(n, 2).value
dict1['sex'] = sheet.cell(n, 3).value
if sheet.cell(n,4).value is not None:
dict1['unit'] = sheet.cell(n, 4).value
else:
dict1['unit'] = ''
dict1['birth'] = str(sheet.cell(n, 5).value).replace('/','-').split(' ')[0]
dict1['phone'] = sheet.cell(n, 6).value
person[code] = dict1
filename = 'data/新疆油田采油工艺研究院.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print(len(person),'ok')71 ok
In [31]:
import json
import datetime
import csv
from datetime import date
import my_module as My
filename = 'data/新疆油田采油工艺研究院.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/marks_20250726.csv'
re_ta = My.get_result(filename,dict1)
filename = 'data/result_新疆油田采油工艺研究院.json'
with open(filename,'w') as fl:
json.dump(re_ta, fl, ensure_ascii=False)
print(len(re_ta))71
In [32]:
import json
import time
import my_module as My
#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 'bmi' in v.keys():
#bmi_data = v['height']['成绩'].split()[0]+','+ v['weight']['成绩'].split()[0]
bmi_data = v['bmi']['成绩']
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'] = My.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])}
#print(k,v['name'])
dict2[k][item_en]['score'] = My.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!') ok!
In [33]:
import json
import openpyxl
items = ['lung','grip','flexion','jump','pushup','situp','balance','reaction','step']
title = ['编号','姓名','性别','单位','部门','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = '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'])
if 'bmi' in v.keys():
height = v['bmi']['成绩'].split(',')[0]
weight = v['bmi']['成绩'].split(',')[1]
list2.append(height)
list2.append(weight)
else:
list2.append('')
list2.append('')
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/新疆油田采油工艺研究院测试情况明细表(截至20250725).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
sheet.append(row)
wb.save(filename)In [9]:
import json
import csv
import openpyxl
import time
from datetime import date
filename = 'data/新疆油田采油工艺研究院.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
phone1 = set()
phone2 = set()
for k,v in dict1.items():
phone1.add(v['phone'])
list1 = []
filename = 'data/survey_records_20250725.csv'
with open(filename,'r',newline='') as csv_file:
fl = csv.reader(csv_file,delimiter=',')
header = next(fl)
for line in fl:
list1.append(line)
i =1
list2 = []
for item in list1:
code = int(item[3])
for k, v in dict1.items():
list3 = []
if v['phone'] == code:
list3.append(k)
list3.append(v['name'])
list3.append(v['sex'])
list3.append(v['unit'])
list3.append(code)
list2.append(list3)
filename = 'data/新疆油田采油工艺研究院问卷情况表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
#sheet.append(title)
for row in list2:
sheet.append(row)
wb.save(filename) In [29]:
import json
import csv
import openpyxl
import time
from datetime import date
filename = 'data/新疆油田采油工艺研究院.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
phone1 = set()
phone2 = set()
for k,v in dict1.items():
phone1.add(v['phone'])
list1 = []
filename = 'data/survey_records_20250725.csv'
with open(filename,'r',newline='') as csv_file:
fl = csv.reader(csv_file,delimiter=',')
header = next(fl)
for line in fl:
list1.append(line)
for item in list1:
code = int(item[3])
content = json.loads(item[4])
name = item[4]
if code not in phone1:
print(code,content['name'])18610346996 杨霖坤 13121563838 高洁 15349912576 韩晓强 13899592125 粟刘 15509909309 关子越 13579524663 王金龙 13121073480 罗腾 13899586957 袁鹏 13999311222 闫鹏 15609905966 李阳 18909908078 吕长智 18040802080 王立坤 17709901414 侯丽娜 17399375199 史瑶 18699008113 荣玉健
In [34]:
import json
import csv
import openpyxl
import time
from datetime import date
dict1 = {}
filename = 'data/result_新疆油田采油工艺研究院.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/新疆油田采油工艺研究院.json'
with open(filename,'r') as fl:
dict3 = json.load(fl)
phone = {}
for k,v in dict3.items():
if 'phone' in v.keys():
phone[v['phone']] = k
list1 = []
filename = 'data/survey_records_20250725.csv'
with open(filename,'r',newline='') as csv_file:
fl = csv.reader(csv_file,delimiter=',')
header = next(fl)
for line in fl:
list1.append(line)
nn = 0
for item in list1:
if int(item[3]) in phone.keys():
code = phone[int(item[3])]
tcm = []
spine = []
for i in range(0,60):
tcm.append(0)
for i in range(0,26):
spine.append(0)
content = json.loads(item[4])
if code not in dict1.keys():
dict1[code] = dict3[code]
rq = date.fromisoformat(item[5].replace('/','-').split(' ')[0])
dict1[code]['rq'] = item[5].replace('/','-').split(' ')[0]
for k, v in content.items():
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 'tcm' in item[4]:
dict1[code]['tcm'] = tcm
if 'spine' in item[4]:
for ii in range(25,23,-1):
spine[ii] = spine[ii-1]
spine[22] = 0
dict1[code]['spine'] = spine
birth = date.fromisoformat(dict3[code]['birth'].replace('/','-'))
rq = date.fromisoformat(item[5].replace('/','-').split(' ')[0])
days = (rq-birth).days
dict1[code]['age'] = int(days/365)
dict1[code]['month'] = int(days/365*12)
#print(phone[item[2]])
nn+=1
filename = 'data/result_新疆油田采油工艺研究院-1.json'
with open(filename,'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print(nn)54
In [35]:
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','psy57','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)71
In [ ]: