26 KiB
26 KiB
In [29]:
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, 2).value)
person.setdefault(code, {})
dict1 = {}
dict1['name'] = sheet.cell(n, 4).value
dict1['sex'] = sheet.cell(n, 5).value
dict1['unit'] = sheet.cell(n, 3).value
dict1['birth'] = str(sheet.cell(n, 6).value).replace('/','-').split(' ')[0]
#dict1['phone'] = sheet.cell(n, 12).value
person[code] = dict1
filename = 'data/胜利采油厂人员.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print(len(person),'ok')412 ok
In [2]:
import json
filename = 'data/胜利采油厂人员.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
for k, v in dict1.items():
dict2 = {}
#if dict1['sex'] =='男':
# sex = 1
dict2 = {'id':k,'name':v['name'],'gender':v['sex'],'birth':v['birth'],'unit':v['unit']}
list1.append(dict2)
json_data = json.dumps(list1,ensure_ascii=False, indent=4)
# 将 json 数据写入文件
with open("data/data_胜利采油厂人员.json", "w",encoding = 'utf-8') as file:
file.write(json_data)
print('ok')ok
In [30]:
import json
filename = 'data/胜利采油厂人员.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/data_胜利采油厂人员(1).json'
with open(filename,'r') as fl:
list1 = json.load(fl)
for item in list1:
code = item['id']
if code not in dict1.keys():
print(code,item['name'],item['unit'])
dict1.setdefault(code,{})
dict1[code]['name'] = item['name']
dict1[code]['sex'] = item['gender']
dict1[code]['unit'] = item['unit']
dict1[code]['birth'] = item['birth']
filename = 'data/胜利采油厂人员.json'
with open(filename, 'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print(len(dict1),'ok')496834 李继升 QHSE监督中心 3532664 谭嘉辰 人力资源(组织)部 496657 张秀成 企业管理部(三基工作办公室) 495136 闫福霞 公共事业服务中心 494062 赵霞 公共事业服务中心 495293 赵振华 689404 马科 胜利采油厂 498782 封莹 胜利采油厂 999999 孙振峰 445607 王大明 490000 陆岩玮 信息化服务中心 000000 焦瀛 胜利采油厂 424 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_20251023.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))216
In [ ]:
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_胜利采油厂1.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_胜利采油厂1.json'
with open(filename,'w') as fl:
json.dump(dict2,fl , ensure_ascii=False)
print('ok!') ok!
In [43]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/胜利采油厂测试情况明细表(补充人员信息).xlsx',data_only=True)
sheet = wb.active
# sheets = wb.sheetnames
dict1 = {}
filename = 'data/result_胜利采油厂.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
list1 = []
for n in range(2, sheet.max_row+1):
code = int(sheet.cell(n, 1).value)
unit = sheet.cell(n, 4).value
dict1[code] = unit
for k, v in dict2.items():
if int(k) not in dict1.keys():
list1.append(k)
else:
dict2[k]['unit'] = dict1[int(k)]
for item in list1:
del dict2[item]
filename = f'data/result_胜利采油厂1.json'
with open(filename,'w') as fl:
json.dump(dict2,fl , ensure_ascii=False)
print('ok!')
ok!
In [32]:
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(8,'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/胜利采油厂测试情况明细表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
sheet.append(row)
wb.save(filename)In [ ]:
import requests
import json
import openpyxl
headers = {
"Content-Type": "application/json; charset=UTF-8"
}
filename = 'data/result_南京化工-2.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)In [20]:
import requests
import json
import openpyxl
headers = {
"Content-Type": "application/json; charset=UTF-8"
}
filename = 'data/result_南京化工-2.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)
mydata['path'] = file_path+id+'-'+ v['name']+'.pdf'
mydata['title'] = '南化公司'
mydata['subtitle'] = v['unit']
mydata['id'] = id
mydata['name'] = v['name']
if v['sex'] == 'm':
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'] = {}
if 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)83
In [ ]:
from pathlib import Path
import json
import shutil
target_directory = Path('./data/json')
filename = 'data/南京化工人员.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
# 遍历目标目录及其子目录获取所有文件
dict2 = {}
list2 = ['总胆固醇','甘油三酯','尿微量白蛋白']
for fl in target_directory.glob('*.json'):
if fl.is_file():
code = fl.stem
dict2.setdefault(code,{})
dict2[code] = dict1[code]
with open(fl,'r') as fl1:
dict3 = json.load(fl1)
for k, v in dict3.items():
if k =='血压情况' and len(v)>0:
dict2[code].setdefault('血压',{})
list1 = []
for item in v:
dict2[code]['血压'][item['项目']] = item['结果']
if '状态' in item.keys():
list1.append(item['项目']+item['状态'])
if len(list1)>0:
dict2[code]['血压']['状态'] = ','.join(list1)
if k in list2:
dict2[code].setdefault(k,{})
dict2[code][k]['结果'] = v['结果']
dict2[code][k]['参考值'] = v['参考值']
if '状态' in v.keys():
dict2[code][k]['状态'] = v['状态']
if k in ['空腹血糖','糖化血红蛋白']:
dict2[code].setdefault(k,{})
if '结果' in v.keys():
dict2[code][k]['结果'] = v['结果']
dict2[code][k]['参考值'] = v['参考值']
if '状态' in v.keys():
dict2[code][k]['状态'] = v['状态']
if k in ['ALT、AST、GGT','TSH、FT3、FT4']:
for item in v:
xm = item['项目']
dict2[code].setdefault(xm,{})
if '结果' in item.keys():
dict2[code][xm]['结果'] = item['结果']
if '参考值' in item.keys():
dict2[code][xm]['参考值'] = item['参考值']
if '状态' in item.keys():
dict2[code][xm]['状态'] = item['状态']
if k =='肾功能与尿微量白蛋白':
for item in v['肾功能']:
xm = item['项目']
dict2[code].setdefault(xm,{})
if '结果' in item.keys():
dict2[code][xm]['结果'] = item['结果']
if '参考值' in item.keys():
dict2[code][xm]['参考值'] = item['参考值']
if '状态' in item.keys():
dict2[code][xm]['状态'] = item['状态']
dict2[code].setdefault('尿微量白蛋白',{})
xm = v['尿微量白蛋白']
if '结果' in xm.keys() and len(xm['结果'])>0:
dict2[code]['尿微量白蛋白']['结果'] = xm['结果']
if '参考值' in xm.keys() and len(xm['参考值'])>0:
dict2[code]['尿微量白蛋白']['参考值'] = xm['参考值']
if '状态' in xm.keys():
dict2[code]['尿微量白蛋白']['状态'] = xm['状态']
filename = 'data/南京化工体检情况.json'
with open(filename,'w') as fl:
json.dump(dict2, fl, ensure_ascii=False) In [ ]:
import json
import csv
import openpyxl
filename = 'data/南京化工体检情况.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = ["总胆固醇","甘油三酯","空腹血糖","糖化血红蛋白","谷丙转氨酶 (ALT)","谷草转氨酶 (AST)","γ- 谷氨酰转肽酶 (GGT)","促甲状腺激素 (TSH)","游离三碘甲状腺原氨酸 (FT3)","游离甲状腺素 (FT4)","肌酐","尿素氮","尿酸","尿微量白蛋白"]
title = ['编号','姓名','性别','血压','状态']
for item in list1:
title.append(item)
title.append('状态')
list3 = []
for k, v in dict1.items():
list2 = []
list2.append(k)
list2.append(v['name'])
list2.append(v['sex'])
if '血压' in v.keys():
xueya = v['血压']['舒张压']+'/'+v['血压']['收缩压']
if '状态' in v['血压'].keys():
zt = v['血压']['状态']
else:
zt = ''
else:
xueya = ''
zt = ''
list2.append(xueya)
list2.append(zt)
for item in list1:
if item in v.keys() and '结果' in v[item]:
list2.append(v[item]['结果'])
if '状态' in v[item]:
list2.append(v[item]['状态'])
else:
list2.append('')
else:
list2.append('')
list2.append('')
list3.append(list2)
filename = 'data/南京化工体检相关数据明细.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list3:
sheet.append(row)
wb.save(filename)In [ ]:
from spire.pdf.common import *
from spire.pdf import *
# 创建PdfDocument类的实例
pdf = PdfDocument()
# 加载PDF文档
pdf.LoadFromFile("file/北海体检报告/2405280074.pdf")
# 将PDF转换为Markdown文件
pdf.SaveToFile("PDF转Markdown.md", FileFormat.Markdown)
pdf.Close()
In [ ]: