54 KiB
54 KiB
In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/安庆石化2022.xlsx')
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, 3).value
dict1['sex'] = sheet.cell(n, 4).value
dict1['unit'] = sheet.cell(n, 1).value
dict1['id_num'] = sheet.cell(n,6).value
person[code] = dict1
filename = 'data/安庆炼化人员名单2022.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print('ok')In [ ]:
import json
import openpyxl
items = ['身高','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','年龄','身高','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/result_2209.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
for k, v in dict1.items():
list2 = []
list2.append(k)
list2.append(v['name'])
if 'id' in v.keys():
age = v['id'][6:10]+'-'+v['id'][10:12]+'-'+v['id'][12:14]
else:
age = v['birth']
list2.append(age)
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/2022年安庆得分情况表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
sheet.append(row)
wb.save(filename)In [ ]:
import json
import openpyxl
items = ['身高','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','身高','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/result_2209.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
for k, v in dict1.items():
list2 = []
list2.append(k)
list2.append(v['name'])
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/2022年安庆得分情况表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
sheet.append(row)
wb.save(filename)In [ ]:
import json
import operator
filename = 'data/安庆炼化人员名单2022.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = dict1.keys()
m_items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','单脚站立','选择反应时','台阶指数']
f_items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/result_2209.json'
dict3 = {}
with open(filename,'r') as fl:
dict2 = json.load(fl)
for k, v in dict1.items():
dict3[k] = v['sex']
for k, v in dict2.items():
list1 = []
list1 = list(v.keys())
if dict3[k] == '男' and '一分钟仰卧起坐' in list1:
print(k,v['name'],'一分钟仰卧起坐 不应出现')
if dict3[k] == '女' and '俯卧撑' in list1:
print(k,v['name'],'俯卧撑 不应出现')
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
filename = 'data/136_220927.csv'
list1 = []
re_ta = {}
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[4])
m_item = str(result[0])
re_ta.setdefault(user,{})
re_ta[user]['name'] = str(result[6])
re_ta[user]['unit'] = str(result[5])
item_name = item[m_item]['name']
re_ta[user].setdefault(item_name,{})
score = int(result[1])/item[m_item]['divisor']
re_ta[user][item_name]['成绩'] = f'{score} {item[m_item]["unit"]}'
re_ta[user][item_name]['得分'] =result[2]
#print(re_ta)
filename = 'data/result_2209.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
for k, v in re_ta.items():
if k in dict2.keys():
print(k,v['name'],'该人员已经测试!')
In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/安庆新增人员220926.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
i = 0
person = {}
dict2 = {}
for n in range(2, sheet.max_row+1):
if sheet.cell(n,2).value is None:
break
else:
code = int(sheet.cell(n, 2).value)
person.setdefault(code, {})
dict1 = {}
xb = str(sheet.cell(n, 4).value)
if xb == '1':
sex = '男'
elif xb =='2':
sex = '女'
dict1['name'] = sheet.cell(n, 3).value
dict1['sex'] = sex
dict1['unit'] = sheet.cell(n, 1).value
dict1['id_num'] = sheet.cell(n,6).value
person[code] = dict1
filename = 'data/安庆炼化人员名单2022.json'
with open(filename, 'r') as fl:
dict2 = json.load(fl)
for k, v in person.items():
if k in dict2.keys():
print('该编号人员已存在!')
else:
dict2[k] = v
i +=1
if i >1:
with open(filename, 'w') as fl:
json.dump(dict2, fl, ensure_ascii=False)
print('ok')
else:
print('无新增人员!')In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/2022年安庆石化体测数据调整情况0921.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
data1 =list(sheet.values)
del data1[:2]
filename = 'data/安庆炼化人员名单2022.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
for item in data1:
if str(item[0]) in dict1.keys():
dict1[str(item[0])]['unit'] = item[4]
print(item[0],item[1],'已修改')
else:
print(item[0],item[1],'不存在!')
with open(filename, 'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print('ok') In [ ]:
import json
import time
import csv
filename = '../item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k,v in dict1.items():
item[k] = v
#SQL语句为:
# SELECT a.item_id,a.performance,a.score,a.date AS DATE1,a.avatar_id,b.unit,b.name FROM places_result AS a,_zgshhgxs AS b WHERE a.place_id=135 AND a.avatar_id=b.id AND a.avatar_id < 4999
re_ta = {}
dict1 = {}
list1 = []
#print("\n运动项目信息:")
filename = 'data/136_2209.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)
for result in list1:
user = str(result[4])
m_item = str(result[0])
re_ta.setdefault(user,{})
re_ta[user]['name'] = str(result[6])
re_ta[user]['unit'] = str(result[5])
item_name = item[m_item]['name']
re_ta[user].setdefault(item_name,{})
score = int(result[1])/item[m_item]['divisor']
re_ta[user][item_name]['成绩'] = f'{score} {item[m_item]["unit"]}'
re_ta[user][item_name]['得分'] =result[2]
filename = 'data/result_2209.json'
with open(filename,'w') as fl:
json.dump(re_ta, fl)
print('ok')In [ ]:
import json
import openpyxl
filename = 'data/result_安庆.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/安庆炼化人员名单2022.json'
with open(filename,'r') as fl:
dict3 = json.load(fl)
dict2 = {}
for k, v in dict3.items():
dict2[v['id_num']] = [v['name'],k,v['unit'],v['sex']]
dict3 = {}
for k, v in dict1.items():
if 'id' in v.keys():
if v['id'] in dict2.keys():
v['old_code'] = int(k)
code = int(dict2[v['id']][1])
dict3.setdefault(code, {})
dict3[code] = v
filename = 'data/安庆2021.json'
with open(filename,'w') as fl:
json.dump(dict3, fl,ensure_ascii=False)
print('ok')In [ ]:
import json
import openpyxl
filename = 'data/result_安庆.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict2 = {}
filename = 'data/安庆石化2022.xlsx'
wb = openpyxl.load_workbook(filename)
sheet = wb.active
data1 =list(sheet.values)
del data1[0]
for item in data1:
id = item[5]
dict2[id] = [item[2],item[1],item[0],item[3],item[4]]
#print(dict2)
dict3 = {}
for k, v in dict1.items():
if 'id' in v.keys():
if v['id'] in dict2.keys():
v['old_code'] = int(k)
code = int(dict2[v['id']][1])
dict3.setdefault(code, {})
dict3[code] = v
filename = 'data/安庆2021.json'
with open(filename,'w') as fl:
json.dump(dict3, fl,ensure_ascii=False)
print('ok')In [ ]:
import json
import openpyxl
filename = 'data/安庆2021.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = dict1.keys()
items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','部门','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/result_2209.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
list4 = []
for k, v in dict2.items():
if k in list1:
list2 = [k,v['name'],v['unit']]
list3 = []
for item in items:
# 获取2022年成绩
if item in v.keys():
list2.append(v[item]['成绩'])
else:
list2.append('')
# 获取2021年成绩
if item in dict1[k].keys():
list3.append(dict1[k][item]['成绩'])
else:
list3.append('')
for cj in list3:
list2.append(cj)
list4.append(list2)
filename = 'data/安庆石化成绩对照220921.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list4:
sheet.append(row)
wb.save(filename) In [ ]:
import json
import openpyxl
filename = 'data/安庆2021.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = dict1.keys()
items = ['身高','体重']
title = ['编号','姓名','部门','22年身高','22年体重','21年身高','21年体重','身高差','体重差']
filename = 'data/result_2209.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
list4 = []
for k, v in dict2.items():
if k in list1:
list2 = [k,v['name'],v['unit']]
list3 = []
for item in items:
# 获取2022年成绩
if item in v.keys():
list2.append(v[item]['成绩'].split()[0])
else:
list2.append('')
# 获取2021年成绩
if item in dict1[k].keys():
list3.append(dict1[k][item]['成绩'])
else:
list3.append('')
for cj in list3:
if cj != '':
list2.append(cj.split()[0])
list4.append(list2)
filename = 'data/安庆石化成绩对照220927.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list4:
sheet.append(row)
wb.save(filename) In [ ]:
import json
import openpyxl
filename = '../data/安庆石化部门调整.xlsx'
wb = openpyxl.load_workbook(filename)
sheet = wb.active
data1 =list(sheet.values)
del data1[:2]
filename = '../data/安庆炼化人员名单2022.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
i = 1
for item in data1:
code = str(item[0])
name = item[1]
unit = item[4]
if dict1[code]['name'] == name:
#print(i,name,unit)
dict1[code]['unit'] = unit
with open(filename,'w') as fl:
json.dump(dict1, fl,ensure_ascii=False)
print('ok')
In [ ]:
import json
filename = '../data/安庆炼化人员名单2022.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = [4129,4165]
for item in list1:
if str(item) in dict1.keys():
del dict1[str(item)]
print(item,'已删除!')
with open(filename,'w') as fl:
json.dump(dict1, fl,ensure_ascii=False)
print('ok') In [ ]:
import os,sys,shutil
import json
import math
fi_xls = '../file/安庆石化2022.xlsx'
fi_name = {}
fi_path = '../file/220930'
old = []
new = []
dict1 = {}
depart = set()
filename = '../data/安庆炼化人员名单2022.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
for k, v in dict2.items():
depart.add(v['unit'])
dict1[int(k)] = [v['name'],v['unit']]
# 创建部门办公室
m_path = '../file/220930/new'
for pn in depart:
if not os.path.exists(m_path + '/' + pn):
os.mkdir(m_path + '/' + pn)
#print(dict1)
fl=os.listdir(fi_path)
for fn in fl:
if os.path.isfile(fi_path + '/' + fn):
ofn = int(fn.split('.')[0])
old.append(ofn)
#print(fn)
old.sort()
#print(str(nfn)+'.pdf')
for n in old:
o_name = f'{fi_path}/{n}.pdf'
n_name = f'{fi_path}/new/{dict1[n][1]}/{str(n).rjust(5,"0")}-{dict1[n][0]}.pdf'
if not os.path.exists(n_name):
shutil.copyfile(o_name,n_name)
print(n_name)In [ ]:
import os
import openpyxl
import json
fi_path = 'data/安庆/'
sheet_list = ['一览表', 'Ⅱ级高血压、Ⅲ级高血压', '心电图异常']
dict1 = {}
fl=glob.glob(f'{fi_path}*.xlsx')
for fn in fl:
print(fn)
wb = openpyxl.load_workbook(fn)
wb_name = os.path.basename(fn).split('.')[0]
dict1.setdefault(wb_name,{})
for sheet in wb.sheetnames:
ws = wb[sheet]
if sheet == '一览表':
dict1[wb_name].setdefault(sheet,{})
for n in range(2,ws.max_row+1):
dict2 = {}
m_name = ws.cell(n,4).value
dict1[wb_name][sheet].setdefault(m_name,{})
dict2['部门'] = ws.cell(n,2).value
dict2['工号'] = ws.cell(n,3).value
dict2['性别'] = ws.cell(n,5).value
dict2['年龄'] = ws.cell(n,6).value
dict2['接害工龄'] = ws.cell(n,7).value
dict2['工种'] = ws.cell(n,8).value
dict2['危害因素'] = ws.cell(n,9).value
dict2['在岗类型'] = ws.cell(n,10).value
dict2['体检结果'] = ws.cell(n,11).value
dict2['检查结果'] = ws.cell(n,12).value
dict1[wb_name][sheet][m_name] = dict2
if sheet == 'Ⅱ级高血压、Ⅲ级高血压':
dict1[wb_name].setdefault(sheet,{})
for n in range(2,ws.max_row+1):
dict2 = {}
m_name = ws.cell(n,4).value
dict1[wb_name][sheet].setdefault(m_name,{})
dict2['工号'] = ws.cell(n,3).value
dict2['性别'] = ws.cell(n,5).value
dict2['年龄'] = ws.cell(n,6).value
dict2['接害工龄'] = ws.cell(n,7).value
dict2['总结'] = ws.cell(n,11).value
dict2['诊断'] = ws.cell(n,12).value
dict1[wb_name][sheet][m_name] = dict2
if sheet == '心电图异常':
dict1[wb_name].setdefault(sheet,{})
for n in range(2,ws.max_row+1):
dict2 = {}
m_name = ws.cell(n,4).value
dict1[wb_name][sheet].setdefault(m_name,{})
dict2['工号'] = ws.cell(n,3).value
dict2['性别'] = ws.cell(n,5).value
dict2['年龄'] = ws.cell(n,6).value
dict2['接害工龄'] = ws.cell(n,7).value
dict2['总结'] = ws.cell(n,11).value
dict2['诊断'] = ws.cell(n,12).value
dict2['备注'] = ws.cell(n,14).value
dict1[wb_name][sheet][m_name] = dict2
wb.close()
with open('data/安庆体检报告.json','w') as fl:
json.dump(dict1,fl)
In [ ]:
import json
import re
with open('data/安庆体检报告.json','r') as fl:
dict1 = json.load(fl)
mo1 = r'[一二三四五六七八九十]、'
list_ks = set()
#dict2 = dict1['丙烯腈装置']['一览表']
#print(dict2)
for k, v in dict1.items():
print(k)
for k1, v1 in v['一览表'].items():
if v1['体检结果']:
ss = v1['体检结果']
list1 = re.split(mo1,ss)
if '' in list1:
list1.remove('')
for item in list1:
list_ks.add(item.split('_x000D_')[0])
print(list_ks)
In [ ]:
import json
import re
with open('data/安庆体检报告.json','r') as fl:
dict1 = json.load(fl)
mo1 = r'[一二三四五六七八九十]、'
list_ks = set()
dict2 = dict1['丙烯腈装置']['一览表']
dict3 = {}
i = 1
#print(dict2)
for k, v in dict2.items():
dict3.setdefault(i,{})
ss = v['体检结果']
list1 = re.split(mo1,ss)
list1.remove('')
for item in list1:
list2 = item.split('_x000D_')
if '' in list2:
list2.remove('')
list_ks.add(list2[0])
dict3[i][item.split('_x000D_')[0]] =list2[1:]
i+=1
print(list_ks)
#print(dict3)
for k, v in dict3.items():
for k1, v1 in v.items():
if k1 =='检验科':
for item in v1:
if '【' in item:
v1.remove(item)
print(v1)
if k1 =='彩超检查室':
for item in v1:
if '【' in item:
v1.remove(item)
#print(v1)
if k1 =='心电图检查室':
for item in v1:
if '【' in item:
v1.remove(item)
#print(v1)
if k1 =='肺功能检查室':
for item in v1:
if '【' in item:
v1.remove(item)
#print(v1)
if k1 =='碳14尿素':
for item in v1:
if '【' in item:
v1.remove(item)
#print(v1)In [ ]:
import json
import re
with open('data/安庆体检报告.json','r') as fl:
dict1 = json.load(fl)
dict3 = {}
for k, v in dict1.items():
bm = k
dict2 = {}
if 'Ⅱ级高血压、Ⅲ级高血压' in v.keys():
for k1, v1 in v['Ⅱ级高血压、Ⅲ级高血压'].items():
mbz = 'Ⅱ级高血压、Ⅲ级高血压'
dict2.setdefault(k1,{})
dict2[k1]['工号'] = v1['工号']
dict2[k1]['性别'] = v1['性别']
dict2[k1]['年龄'] = v1['年龄']
dict2[k1]['接害工龄'] = v1['接害工龄']
dict2[k1].setdefault(mbz,{})
dict2[k1][mbz]['总结'] = v1['总结']
dict2[k1][mbz]['诊断'] = v1['诊断']
if '心电图异常' in v.keys():
for k1, v1 in v['心电图异常'].items():
mbz = '心电图异常'
dict2.setdefault(k1,{})
dict2[k1]['工号'] = v1['工号']
dict2[k1]['性别'] = v1['性别']
dict2[k1]['年龄'] = v1['年龄']
dict2[k1]['接害工龄'] = v1['接害工龄']
dict2[k1].setdefault(mbz,{})
dict2[k1][mbz]['总结'] = v1['总结']
dict2[k1][mbz]['诊断'] = v1['诊断']
if '备注' in v1.keys():
dict2[k1][mbz]['备注'] = v1['备注']
if len(dict2) >0:
dict3[k] = dict2
with open('data/安庆体检报告_人员整理.json','w') as fl:
json.dump(dict3,fl)
In [ ]:
import json
import re
with open('data/安庆体检报告_人员整理.json','r') as fl:
dict1 = json.load(fl)
mo1 = r'心电图结论:(.*?)_x000D_'
mo =r'血压:(.*?)_x000D_'
mo2 = '(.?)级高血压'
dict2 = {}
for k, v in dict1.items():
bm = k
dict2.setdefault(bm,{})
for k1, v1 in v.items():
dict2[bm].setdefault(k1,{})
dict2[bm][k1]['工号'] = v1['工号']
dict2[bm][k1]['性别'] = v1['性别']
if 'Ⅱ级高血压、Ⅲ级高血压' in v1.keys():
s = v1['Ⅱ级高血压、Ⅲ级高血压']['诊断']
if '级高血压' in s:
list2 = re.search( mo2, s)
dict2[bm][k1]['高血压'] = [list2.group(1)]
ss = v1['Ⅱ级高血压、Ⅲ级高血压']['总结']
if '血压:' in ss:
list1 = re.search( mo, ss)
dict2[bm][k1]['高血压'].append(list1.group(1))
else:
dict2[bm][k1]['高血压'].append('无血压数据')
if '心电图异常' in v1.keys():
dict2[bm][k1].setdefault('心电图',[])
ss = v1['心电图异常']['总结']
if '心电图结论:' in ss:
list1 = re.search( mo1, ss)
dict2[bm][k1]['心电图'] = [list1.group(1)]
#print(k,k1,list1.group(1),list2.group(1))
else:
dict2[bm][k1]['心电图'].append(v1['心电图异常']['备注'])
print(len(dict2))
with open('data/安庆体检报告_人员统计.json','w') as fl:
json.dump(dict2,fl) In [ ]:
import openpyxl
import json
list1 = []
with open('data/安庆体检报告_人员统计.json','r') as fl:
dict1 = json.load(fl)
for k, v in dict1.items():
bm =k
for k1, v1 in v.items():
#print(bm,k1)
list2 = []
xm = k1
if '工号' in v1.keys():
gh = v1['工号']
else:
gh = ''
sex = v1['性别']
if '高血压' in v1.keys():
lx = v1['高血压'][0]+'级高血压'
xyz = v1['高血压'][1]
else:
lx = ''
xyz = ''
if '心电图' in v1.keys():
xdt = v1['心电图'][0]
else:
xdt = ''
list2 = [bm,xm,gh,sex,lx,xyz,xdt]
list1.append(list2)
#print(list1)
filename = 'data/安庆体检情况表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
title = ['部门','员工姓名','工号','性别','高血压级别','血压值','心电图异常情况']
sheet.append(title)
for row in list1:
sheet.append(row)
wb.save(filename)In [ ]:
import json
filename = 'data/安庆2021.json'
item = {}
with open(filename,'r') as fl:
dict1 = json.load(fl)
print(len(dict1))In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/2023年安庆石化职工健康提升项目志愿者花名册(修订).xlsx')
sheet = wb.active
# sheets = wb.sheetnames
person = {}
for n in range(4, sheet.max_row+1):
code = sheet.cell(n, 1).value
person.setdefault(code, {})
dict1 = {}
dict1['name'] = sheet.cell(n, 3).value
dict1['sex'] = sheet.cell(n, 4).value
dict1['unit'] = sheet.cell(n, 2).value
dict1['age'] = sheet.cell(n, 6).value
if sheet.cell(n,5).value is not None:
dict1['phone'] = str(sheet.cell(n,5).value)
person[code] = dict1
filename = 'data/安庆职工健康提升志愿者.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print('ok')In [ ]:
import json
import csv
import openpyxl
import time
from datetime import date
dict1 = {}
filename = 'data/安庆职工健康提升志愿者.json'
with open(filename,'r') as fl:
dict3 = json.load(fl)
list1 = []
filename = 'data/Survey_20240117.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)
#print(list1)
dict2 = {}
for item in list1:
psy = []
tcm = []
spine = []
for i in range(0,45):
psy.append(0)
for i in range(0,60):
tcm.append(0)
for i in range(0,26):
spine.append(0)
phone = item[2]
for k1, v1 in dict3.items():
if 'phone' in v1.keys() and phone ==v1['phone']:
dict1[k1] = dict3[k1]
dict1[k1]['month'] = dict1[k1]['age'] *12
#print(dict1)
for item in list1:
psy = []
tcm = []
spine = []
for i in range(0,45):
psy.append(0)
for i in range(0,60):
tcm.append(0)
for i in range(0,26):
spine.append(0)
phone = item[2]
for k1, v1 in dict1.items():
if phone ==v1['phone']:
content = json.loads(item[5])
if 'tcm' in item[1] or 'spine' in item[1]:
del content['gender']
rq = date.fromisoformat(item[6].replace('/','-').split(' ')[0])
#dict1[phone[item[2]]]['rq'] = date.fromisoformat(item[6].replace('/','-').split(' ')[0])
for k, v in content.items():
if 'psy' in item[1]:
i = int(k[1:])
psy[i-1] = int(v)
if 'tcm' in item[1]:
i = int(k[1:])
tcm[i-1] = int(v)
if 'spine' in item[1]:
i = int(k[1:])
spine[i-1] = int(v)
if 'psy' in item[1]:
#for i in range(5,26):
# new_valve = 5-psy[i]
# psy[i] = new_valve
for i in range(26,40):
new_valve = 1+psy[i]
psy[i] = new_valve
psy[44] = []
dict1[k1]['psy'] = psy
if 'tcm' in item[1]:
if tcm[40] ==0:
tcm[40] =1
dict1[k1]['tcm'] = tcm
if 'spine' in item[1]:
dict1[k1]['spine'] = spine
#birth = date.fromisoformat(dict3[k1]['birth'].replace('/','-'))
#days = (rq-birth).days
#dict1[k1]['age'] = int(days/365)
dict1[k1]['rq'] = item[6].replace('/','-').split(' ')[0]
print(dict1)
filename = 'data/result_安庆志愿者.json'
with open(filename,'w') as fl:
json.dump(dict1, fl, ensure_ascii=False) In [ ]:
import json
import csv
import openpyxl
filename = 'data/安庆职工健康提升志愿者.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
wj = {'psy_0556_sh':'心理问卷','tcm_0556_sh':'中医问卷','spine_0556_sh':'脊柱问卷'}
wj_dm = {'psy_0556_sh':0,'tcm_0556_sh':1,'spine_0556_sh':2}
list1 = []
re_ta = {}
filename = 'data/Survey_20240117.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)
for result in list1:
item = str(result[1])
re_ta.setdefault(item,[])
re_ta[item].append(result[2])
print(len(re_ta))
tj = {}
for k ,v in dict1.items():
if 'phone' in v.keys():
phone = v['phone']
tj.setdefault(k, [0,0,0])
for k1,v1 in re_ta.items():
if phone in v1:
tj[k][wj_dm[k1]] = 1
list1 = []
for k, v in tj.items():
list2 = []
list2.append(k)
list2.append(dict1[k]['name'])
list2.append(dict1[k]['phone'])
for item in v:
list2.append(item)
list1.append(list2)
filename = 'data/安庆职工健康提升问卷情况表20240108.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
title = ['编号','员工姓名','手机号码','心理','中医','脊柱']
sheet.append(title)
for row in list1:
sheet.append(row)
wb.save(filename)
In [ ]:
import json
import csv
import openpyxl
filename = 'data/安庆职工健康提升志愿者.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
phone = set()
phone1 = set()
for k,v in dict1.items():
if 'phone' in v.keys():
phone.add(v['phone'])
filename = 'data/Survey_20240108.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)
for result in list1:
if result[2] not in phone:
phone1.add(result[2])
for item in phone1:
print(item)In [ ]:
import json
import csv
import openpyxl
filename = 'data/安庆职工健康提升志愿者.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
phone = set()
phone1 = set()
for k,v in dict1.items():
phone.add(v['phone'])
filename = 'data/Survey_20231018.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)
for result in list1:
if result[2] not in phone:
phone1.add(result[2])
for item in phone1:
print(item)In [31]:
import requests
import json
import openpyxl
headers = {
"Content-Type": "application/json; charset=UTF-8"
}
filename = 'data/result_安庆志愿者.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
fiie_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'] = fiie_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'] = {}
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)98
In [35]:
import os,sys,shutil
import json
import glob
from pathlib import Path
import PyPDF2
import openpyxl
pdfWriter = PyPDF2.PdfWriter()
fi_path = '/home/songyi/pdf-typescript/安庆职工健康提升'
new_path = 'file/安庆健康志愿者'
dict1 ={}
wb = openpyxl.load_workbook('data/安庆健康志愿者分组情况表.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
for n in range(2, sheet.max_row+1):
code = str(sheet.cell(n, 1).value)
dict1[code] = sheet.cell(n, 3).value
fls = glob.glob(f'{fi_path}/*.pdf')
for fn in fls:
reader = PyPDF2.PdfReader(fn)
writer = PyPDF2.PdfWriter()
num = len(reader.pages)
code =str(int(Path(fn).stem.split('-')[0]))
if code in dict1.keys():
sy_fn = 'data/water/'+dict1[code]+'.pdf'
water = PyPDF2.PdfReader(sy_fn).pages[0]
for i in range(num):
page = reader.pages[i]
if i == num -1:
page.merge_page(water)
writer.add_page(page)
with open(f'file/安庆健康志愿者/{Path(fn).stem}.pdf', 'wb') as target_file:
writer.write(target_file)
print('ok!') ok!
In [33]:
import os,sys,shutil
import json
import glob
from pathlib import Path
import PyPDF2
import openpyxl
pdfWriter = PyPDF2.PdfWriter()
fi_path = '/home/songyi/python/mycrm/flask/pdf/files/309118_1'
new_path = 'file/309118_sy'
dict1 ={}
wb = openpyxl.load_workbook('data/安庆健康志愿者分组情况表.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
for n in range(2, sheet.max_row+1):
code = str(sheet.cell(n, 1).value).rjust(4,"0")
dict1[code] = sheet.cell(n, 3).value
print(dict1){'0016': '平和', '0017': '平和', '0047': '平和', '0072': '平和', '0080': '平和', '0099': '平和', '0019': '气虚', '0021': '气虚', '0025': '气虚', '0039': '气虚', '0044': '气虚', '0046': '气虚', '0051': '气虚', '0053': '气虚', '0064': '气虚', '0066': '气虚', '0068': '气虚', '0069': '气虚', '0074': '气虚', '0084': '气虚', '0036': '气郁', '0048': '气郁', '0050': '气郁', '0056': '气郁', '0062': '气郁', '0065': '气郁', '0070': '气郁', '0073': '气郁', '0097': '气郁', '0001': '湿热', '0008': '湿热', '0011': '湿热', '0014': '湿热', '0038': '湿热', '0057': '湿热', '0058': '湿热', '0090': '湿热', '0093': '湿热', '0095': '湿热', '0100': '湿热', '0009': '痰湿', '0012': '痰湿', '0015': '痰湿', '0020': '痰湿', '0026': '痰湿', '0030': '痰湿', '0041': '痰湿', '0077': '痰湿', '0079': '痰湿', '0083': '痰湿', '0085': '痰湿', '0089': '痰湿', '0094': '痰湿', '0101': '痰湿', '0010': '特禀', '0023': '特禀', '0055': '特禀', '0013': '特禀', '0022': '特禀', '0035': '特禀', '0049': '特禀', '0081': '特禀', '0082': '特禀', '0004': '阳虚', '0005': '阳虚', '0006': '阳虚', '0018': '阳虚', '0028': '阳虚', '0029': '阳虚', '0032': '阳虚', '0033': '阳虚', '0034': '阳虚', '0037': '阳虚', '0040': '阳虚', '0045': '阳虚', '0052': '阳虚', '0054': '阳虚', '0059': '阳虚', '0060': '阳虚', '0061': '阳虚', '0063': '阳虚', '0071': '阳虚', '0075': '阳虚', '0076': '阳虚', '0086': '阳虚', '0091': '阳虚', '0092': '阳虚', '0096': '阳虚', '0002': '阴虚', '0003': '阴虚', '0007': '阴虚', '0027': '阴虚', '0031': '阴虚', '0042': '阴虚', '0078': '阴虚', '0088': '阴虚'}
In [ ]: