55 KiB
55 KiB
In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/天津石化员工检测花名册 (20221014).xlsx')
sheet = wb.active
# sheets = wb.sheetnames
person = {}
for n in range(2, sheet.max_row+1):
code = int(sheet.cell(n, 6).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['sub_unit'] = sheet.cell(n, 2).value
if sheet.cell(n,5).value is not None:
dict1['id_num'] = 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
filename = 'data/天津石化人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/天津石化人员231113_1.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
for k, v in dict2.items():
if k not in dict1.keys():
dict1.setdefault(k,{})
dict1[k]['name'] = dict2[k]['name']
dict1[k]['sex'] = dict2[k]['sex']
dict1[k]['unit'] = dict2[k]['name']
dict1[k]['sub_unit'] = dict2[k]['sub_unit']
filename = 'data/天津石化人员名单.json'
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,a.date_joined FROM places_result AS a,_tianjin AS b WHERE a.place_id=134 AND a.avatar_id=b.id
re_ta = {}
dict1 = {}
list1 = []
#print("\n运动项目信息:")
filename = '体测单位/data/20230428_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)
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_天津.json'
with open(filename,'w') as fl:
json.dump(re_ta, fl)
print('ok')In [ ]:
import json
import openpyxl
items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
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'])
list2.append(dict2[k]['sub_unit'])
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/天津石化体测情况表(截至20221122).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_天津.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
del dict1['1730253']
filename = 'data/天津石化人员名单.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
list1 = []
for k, v in dict1.items(): #print(k,dict2[str(k)]['name'])
list2 = []
list2.append(str(k).rjust(5,'0'))
list2.append(dict2[k]['name'])
list2.append(dict2[k]['sex'])
list2.append(dict2[k]['unit'])
list2.append(dict2[k]['sub_unit'])
for item in items:
if item in dict1[k].keys():
list2.append(dict1[k][item]['成绩'])
list2.append(dict1[k][item]['得分'])
elif item =='name':
list2.append(dict1[k][item])
else:
list2.append('')
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)
print('ok') In [ ]:
import json
import time
import csv
import os,sys,shutil
import glob
dict1 = {}
list1 = []
filename = 'data/134_2210.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)
for result in list1:
user = str(result[4])
dict1.setdefault(user,'2022-10-01')
m_date = result[7]
if m_date> dict1[user]:
dict1[user] = m_date
m_path = 'file/134'
fls = glob.glob(f'file/new/*.pdf')
for fn in fls:
#old = os.path.basename(fn).split('.')[0].rjust(8,'0')
old = os.path.basename(fn).split('.')[0]
mrq = str(dict1[old]).split(' ')[0].replace('-', '', 2)
if not os.path.exists(m_path + '/new/' + mrq):
os.mkdir(m_path + '/new/' + mrq)
n_name = f'{m_path}/new/{mrq}/{str(old).rjust(8,"0")}_{mrq}.pdf'
if not os.path.exists(n_name):
shutil.copyfile(fn,n_name)
print('ok!')In [ ]:
import json
import time
import csv
import os,sys,shutil
import glob
dict1 = {}
list1 = []
m_path = 'file/134'
mrq = '20221028'
if not os.path.exists(m_path + '/' + mrq):
os.mkdir(m_path + '/' + mrq)
fls = glob.glob(f'file/new/*.pdf')
for fn in fls:
#old = os.path.basename(fn).split('.')[0].rjust(8,'0')
old = os.path.basename(fn).split('.')[0]
n_name = f'{m_path}/{mrq}/{str(old).rjust(8,"0")}_{mrq}.pdf'
if not os.path.exists(n_name):
shutil.copyfile(fn,n_name)
print('ok!')In [ ]:
import os,sys,shutil
import json
import math
import glob
from pathlib import Path
fi_path = './file'
old = []
dict2 = {}
filename = 'data/天津石化人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k, v in dict1.items():
m_name = v['name']
m_depart = v['unit']
dict2[int(k)] = [m_name,m_depart]
fls = glob.glob(f'./file/*.pdf')
for fn in fls:
old.append(os.path.basename(fn).split('.')[0])
#print(fn)
for n in old:
o_name = f'{fi_path}/{n}.pdf'
if not os.path.exists(f'{fi_path}/new/{dict2[int(n)][1]}'):
os.mkdir(f'{fi_path}/new/{dict2[int(n)][1]}')
n_name = f'{fi_path}/new/{dict2[int(n)][1]}/{str(n).rjust(5,"0")}-{dict2[int(n)][0]}.pdf'
if not os.path.exists(n_name):
shutil.copyfile(o_name,n_name)
print(n_name)In [ ]:
import os,sys,shutil
import json
import math
import glob
from pathlib import Path
fi_path = './file'
old = []
dict2 = {}
filename = 'data/天津石化人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k, v in dict1.items():
m_name = v['name']
m_depart = v['unit']
dict2[int(k)] = [m_name,m_depart]
fls = glob.glob(f'./file/*.pdf')
for fn in fls:
old.append(os.path.basename(fn).split('.')[0])
for n in old:
o_name = f'{fi_path}/{n}.pdf'
new_path = Path('file/new',dict1[n]['unit'],dict1[n]['sub_unit'])
new_path.mkdir(parents = True, exist_ok = True)
n_name = Path(new_path,f'{str(n).rjust(7,"0")}-{dict2[int(n)][0]}.pdf')
if not os.path.exists(n_name):
shutil.copyfile(o_name,n_name)
print(n_name)
print('ok')In [ ]:
import json
import openpyxl
import os
import glob
filename = 'data/天津石化人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
m_path ='./file'
fls = glob.glob(f'file/*.pdf')
list1 = []
for fn in fls:
list2 = []
code = os.path.basename(fn).split('.')[0]
list2 = [code.rjust(7,"0"),dict1[code]['name'],dict1[code]['unit'],dict1[code]['sub_unit']]
list1.append(list2)
title = ['编号','姓名','单位/部门','车间/科室',]
filename = 'data/天津石化体测情况表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
sheet.append(row)
wb.save(filename)In [ ]:
import fitz
from pdf2image import convert_from_path, convert_from_bytes
import os,sys
import tempfile
from pdf2image.exceptions import (
PDFInfoNotInstalledError,
PDFPageCountError,
PDFSyntaxError
)
import img2pdf
import glob
import shutil
def covert2pic(old_fn):
if os.path.exists('.pdf'): # 临时文件,需为空
shutil.rmtree('.pdf')
os.mkdir('.pdf')
with tempfile.TemporaryDirectory() as path:
images_from_path = convert_from_path(old_fn, dpi=100,fmt='jpg', output_folder='.pdf')
def pic2pdf(new_fn):
fl1=glob.glob('.pdf/*.jpg')
fl1.sort()
a4inpt = (img2pdf.mm_to_pt(210),img2pdf.mm_to_pt(297))
layout_fun = img2pdf.get_layout_fun(a4inpt)
with open(new_fn,"wb") as f:
f.write(img2pdf.convert(fl1,layout_fun=layout_fun))
print(f'{new_fn}转换成功!')
def pdfz(sor, obj, zoom):
covert2pic(zoom)
pic2pdf(obj)
fi_path = 'file/134/20221122/'
fl = glob.glob(f'{fi_path}*.pdf')
for fn in fl:
new_fn = fi_path+'new/'+os.path.basename(fn)
covert2pic(fn)
pic2pdf(new_fn)
shutil.rmtree('.pdf')
print('ok!')
In [ ]:
import json
import openpyxl
title = ['编号','姓名','性别','单位/部门','车间/科室']
filename = 'data/天津石化人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/result_天津.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
list1 = []
for k, v in dict1.items():
list2 = []
if k not in dict2.keys():
list2 = [k,dict1[k]['name'],dict1[k]['sex'],dict1[k]['unit'],dict1[k]['sub_unit'],]
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)
print('ok!')In [ ]:
import os,sys,shutil
import glob
import time
fi_path = 'file/'
fls = glob.glob(f'{fi_path}*.pdf')
m_date = time.strptime('2022-10-28','%Y-%m-%d')
for fn in fls:
c_time = time.gmtime(os.path.getctime(fn))
if c_time > m_date:
n_name = f'{fi_path}new/{os.path.basename(fn)}'
if not os.path.exists(n_name):
shutil.copyfile(fn,n_name)
print(n_name)
In [ ]:
import json
import openpyxl
title = ['编号','姓名','性别','单位/部门','车间/科室']
filename = 'data/天津石化人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/result_天津.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
print(len(dict2),len(dict1),)In [ ]:
import json
import openpyxl
title = ['编号','姓名','性别','单位/部门','车间/科室']
filename = 'data/天津石化人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/134_xinli.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[4])
list3 = []
for k, v in dict1.items():
list2 = []
if k not in list1:
list2 = [k,dict1[k]['name'],dict1[k]['sex'],dict1[k]['unit'],dict1[k]['sub_unit'],]
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)
print('ok!')In [ ]:
import json
import openpyxl
title = ['编号','姓名','性别','单位/部门','车间/科室']
filename = 'data/天津石化人员名单.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
list1 = []
filename = 'data/134_xinli.csv'
with open(filename,'r',newline='') as csv_file:
fl = csv.reader(csv_file,delimiter=',')
header = next(fl)
for line in fl:
print(line[4])In [ ]:
import openpyxl
import json
import re
wb = openpyxl.load_workbook('data/体检结果(模板)化工.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
dict1 = {}
for n in range(11, sheet.max_row+1):
code = sheet.cell(n, 1).value
name = sheet.cell(n, 8).value
txt = sheet[f'DT{str(n)}'].value
txt = re.sub(r'\n', "", txt)
txt = re.sub(r'\t', "", txt)
txt = re.sub(r'二、尊敬的顾客您好,您本次体检的建议信息如下:', "", txt)
ss = r'三、温馨提示: 鉴于医学技术发展的局限性,个体间可能存在的生物差异性以及您选择的检查项目的局限性,任何一次医学检查的手段和方法都不具备绝对的特异性和灵敏度,对于疾病筛检仍有其盲点,因此,我们建议您对本次检查的异常结果进行随诊复查和其他相关检查,以获得更可靠的医学证据建立准确地医学判断。'
txt1 = re.sub(r'三、温馨提示.*', "", txt,re.S)
dict1.setdefault(code, {})
dict1[code]['name'] = name
dict1[code]['xb'] = sheet.cell(n, 9).value
#dict1[code]['birth'] = sheet.cell(n, 10).value
dict1[code]['report'] = txt1
filename = 'data/体检结果.json'
with open(filename,'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print('ok')In [ ]:
import openpyxl
import json
import re
mo1 = r'[0-9]、'
mo2 = '【.*】'
filename = 'data/体检结果.json'
list3 = []
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k, v in dict1.items():
ss = v['report']
list1 = re.split(mo1,ss)
if len(list1) ==1:
continue
else:
list1.remove('')
#print(list1)
for item in list1:
list2 = re.search( mo2, item)
xm =list2.group()
txt = item.replace(xm,'').strip()
list3.append([k,v['name'],v['xb'],xm,txt])
filename = 'data/症状表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list3:
sheet.append(row)
wb.save(filename)
print('ok!')In [ ]:
import binascii
import openpyxl
gbs = 'C2EDC1A2D1C7'
bs = binascii.a2b_hex(gbs)
#print('bs', bs)
#print('decode-bs:', bs.decode('gb2312'))
s = '马立亚'
gbcode = s.encode('gb2312') # 先转成 bytes格式
#print('gbcode:', gbcode)
gbs = "".join([hex(ch)[2:] for ch in gbcode]) #
#print('gbs:', gbs)
wb = openpyxl.load_workbook('data/联合六车间体质测定人员名单.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
person = {}
list1 = []
for n in range(3, sheet.max_row+1):
name = sheet.cell(n, 3).value
code = sheet.cell(n, 2).value
gbcode = code.encode('gbk')
code = "".join([hex(ch)[2:] for ch in gbcode])
gbcode = name.encode('gbk')
name = "".join([hex(ch)[2:] for ch in gbcode])
#for s in code:
# print(ord(s))
list1.append([sheet.cell(n, 1).value,sheet.cell(n, 2).value,sheet.cell(n, 3).value,code.ljust(32,'0'),name.ljust(32,'0')])
print(code.ljust(32,'0'),name.ljust(32,'0'))
filename = 'data/联合六车间体质测定人员制卡名单.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list1:
sheet.append(row)
wb.save(filename)
print('ok!')
In [ ]:
import json
import openpyxl
filename = 'data/天津石化人员231113.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
code = '1734094'
items = ['身高','体重']
for item in items:
del dict1[code][item]
with open(filename, 'w') as fl:
json.dump(dict1, fl, ensure_ascii=False)
print('ok')In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/员工个人基础信息20230113.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
person = {}
for n in range(4, 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
dict1['unit'] = sheet.cell(n, 6).value
dict1['sub_unit'] = sheet.cell(n, 7).value
if sheet.cell(n,10).value is not None:
dict1['daoban'] = '是'
else:
dict1['daoban'] = '否'
dict1['age'] = sheet.cell(n, 13).value
dict1['gl'] = sheet.cell(n, 14).value
dict1['jhgl'] = sheet.cell(n, 15).value
person[code] = dict1
filename = 'data/天津石化人员231113.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print('ok')In [ ]:
import json
import openpyxl
items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/result_天津.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/天津石化人员231113.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
for k, v in dict2.items():
if k in dict1.keys():
for item in dict1[k].keys():
dict2[k][item] = dict1[k][item]
filename = 'data/天津石化人员231113.json'
with open(filename, 'w') as fl:
json.dump(dict2, fl, ensure_ascii=False)
print('ok')
In [ ]:
import json
items = ['体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/result_天津.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/天津石化人员231113.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
dict3 = {}
for k, v in dict2.items():
if k in dict1.keys():
dict3[k] = dict2[k]
i = 0
score =0
for item in dict2[k].keys():
if item in items:
score = score + int(dict2[k][item]['得分'])
i+=1
dict3[k]['score'] = score
dict3[k]['item_num'] = i
dict3[k]['avg'] = round(score/i,2)
filename = 'data/天津石化线上测试结果.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k, v in dict2.items():
if k in dict1.keys():
dict3[k] = dict2[k]
dict3[k]['zhongyi'] = dict1[k]['中医体质']
filename = 'data/天津石化人员231113_1.json'
with open(filename, 'w') as fl:
json.dump(dict3, fl, ensure_ascii=False)
print('ok')In [ ]:
import json
import openpyxl
filename = 'data/天津石化人员231113_1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
unit = set()
for k, v in dict1.items():
unit.add(dict1[k]['unit'])
#print(unit)
dict2 = {}
for k, v in dict1.items():
dict2.setdefault(v['unit'],{})
dict2[v['unit']].setdefault('是',{})
dict2[v['unit']].setdefault('否',{})
dict2[v['unit']]['是'].setdefault('num',0)
dict2[v['unit']]['否'].setdefault('num',0)
dict2[v['unit']]['是'].setdefault('score',0)
dict2[v['unit']]['否'].setdefault('score',0)
dict2[v['unit']]['是'].setdefault('zhongyi',0)
dict2[v['unit']]['否'].setdefault('zhongyi',0)
dict2[v['unit']]['是'].setdefault('pianpo',0)
dict2[v['unit']]['否'].setdefault('pianpo',0)
if 'avg' in v.keys():
dict2[v['unit']][v['daoban']]['num'] = dict2[v['unit']][v['daoban']]['num'] + 1
dict2[v['unit']][v['daoban']]['score'] = dict2[v['unit']][v['daoban']]['score'] + v['avg']
if 'zhongyi' in v.keys() :
dict2[v['unit']][v['daoban']]['zhongyi'] = dict2[v['unit']][v['daoban']]['zhongyi'] + 1
if 'zhongyi' in v.keys() and v['zhongyi']!='平和':
dict2[v['unit']][v['daoban']]['pianpo'] = dict2[v['unit']][v['daoban']]['pianpo'] + 1
for k, v in dict2.items():
if v['是']['num'] > 0:
dict2[k]['是']['avg'] = round(v['是']['score']/v['是']['num'],2)
else:
dict2[k]['是']['avg'] = 0
if v['否']['num'] > 0:
dict2[k]['否']['avg'] = round(v['否']['score']/v['否']['num'],2)
else:
dict2[k]['否']['avg'] = 0
list1 = []
for k, v in dict2.items():
list2 = []
unit = k
for k1, v1 in v.items():
daoban = k1
num = v1['num']
avg = v1['avg']
zhongyi = v1['zhongyi']
pianpo = v1['pianpo']
list2 = [k,daoban,num,avg,zhongyi,pianpo]
list1.append(list2)
filename = 'data/天津倒班因素分析表.xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list1:
sheet.append(row)
wb.save(filename)
print('ok!')In [ ]:
import json
import openpyxl
filename = 'data/天津石化人员231113_1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
unit = set()
for k, v in dict1.items():
unit.add(dict1[k]['unit'])
#print(unit)
dict2 = {}
for k, v in dict1.items():
gld = int(int(v['gl'])/10)
dict2.setdefault(gld,{})
dict2[gld].setdefault(v['sex'],{})
dict2[gld][v['sex']].setdefault('num',0)
dict2[gld][v['sex']].setdefault('score',0)
dict2[gld][v['sex']].setdefault('zhongyi',0)
dict2[gld][v['sex']].setdefault('pianpo',0)
if 'avg' in v.keys():
dict2[gld][v['sex']]['num'] = dict2[gld][v['sex']]['num'] + 1
dict2[gld][v['sex']]['score'] = dict2[gld][v['sex']]['score'] + v['avg']
if 'zhongyi' in v.keys() :
dict2[gld][v['sex']]['zhongyi'] = dict2[gld][v['sex']]['zhongyi'] + 1
if 'zhongyi' in v.keys() and v['zhongyi']!='平和':
dict2[gld][v['sex']]['pianpo'] = dict2[gld][v['sex']]['pianpo'] + 1
nl = {}
nl[0] = '工龄0-9年'
nl[1] = '工龄10-19年'
nl[2] = '工龄20-29年'
nl[3] = '工龄30-39年'
nl[4] = '工龄40-49年'
nl[5] = '工龄50年以上'
list1 = []
for k, v in nl.items():
list2 = []
gld = v
for k1, v1 in dict2[k].items():
num = v1['num']
score = v1['score']
zhongyi = v1['zhongyi']
pianpo = v1['pianpo']
list2 = [k,daoban,num,avg,zhongyi,pianpo]
list1.append(list2)In [ ]:
import json
import openpyxl
filename = 'data/天津石化人员231113_1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
unit = set()
for k, v in dict1.items():
unit.add(dict1[k]['unit'])
#print(unit)
dict2 = {}
for k, v in dict1.items():
gld = int(int(v['gl'])/10)
dict2.setdefault(gld,{})
dict2[gld].setdefault('num',0)
dict2[gld].setdefault('score',0)
dict2[gld].setdefault('zhongyi',0)
dict2[gld].setdefault('pianpo',0)
if 'avg' in v.keys():
dict2[gld]['num'] = dict2[gld]['num'] + 1
dict2[gld]['score'] = dict2[gld]['score'] + v['avg']
if 'zhongyi' in v.keys() :
dict2[gld]['zhongyi'] = dict2[gld]['zhongyi'] + 1
if 'zhongyi' in v.keys() and v['zhongyi']!='平和':
dict2[gld]['pianpo'] = dict2[gld]['pianpo'] + 1
print(dict2)
nl = {}
nl[0] = '工龄0-9年'
nl[1] = '工龄10-19年'
nl[2] = '工龄20-29年'
nl[3] = '工龄30-39年'
nl[4] = '工龄40-49年'
nl[5] = '工龄50年以上'
list1 = []
for k, v in nl.items():
list2 = []
gld = v
num = dict2[k]['num']
score = dict2[k]['score']
if num > 0:
avg = round(score/num,2)
else:
avg = 0
zhongyi = dict2[k]['zhongyi']
pianpo = dict2[k]['pianpo']
list2 = [gld,num,avg,zhongyi,pianpo]
list1.append(list2)
filename = 'data/天津倒班因素分析表(工龄).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list1:
sheet.append(row)
wb.save(filename)
print('ok!')In [ ]:
import json
import openpyxl
filename = 'data/天津石化人员231113_1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
unit = set()
for k, v in dict1.items():
unit.add(dict1[k]['unit'])
#print(unit)
dict2 = {}
for k, v in dict1.items():
gld = int(int(v['age'])/10)
dict2.setdefault(gld,{})
dict2[gld].setdefault('num',0)
dict2[gld].setdefault('score',0)
dict2[gld].setdefault('zhongyi',0)
dict2[gld].setdefault('pianpo',0)
if 'avg' in v.keys():
dict2[gld]['num'] = dict2[gld]['num'] + 1
dict2[gld]['score'] = dict2[gld]['score'] + v['avg']
if 'zhongyi' in v.keys() :
dict2[gld]['zhongyi'] = dict2[gld]['zhongyi'] + 1
if 'zhongyi' in v.keys() and v['zhongyi']!='平和':
dict2[gld]['pianpo'] = dict2[gld]['pianpo'] + 1
nl = {}
nl[2] = '20-29岁'
nl[3] = '30-39岁'
nl[4] = '40-49岁'
nl[5] = '50-59岁'
nl[6] = '60岁及以上'
list1 = []
for k, v in nl.items():
list2 = []
gld = v
num = dict2[k]['num']
score = dict2[k]['score']
if num > 0:
avg = round(score/num,2)
else:
avg = 0
zhongyi = dict2[k]['zhongyi']
pianpo = dict2[k]['pianpo']
list2 = [gld,num,avg,zhongyi,pianpo]
list1.append(list2)
filename = 'data/天津倒班因素分析表(年龄).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list1:
sheet.append(row)
wb.save(filename)
print('ok!')In [ ]:
import json
import openpyxl
filename = 'data/天津石化人员231113_1.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
unit = set()
for k, v in dict1.items():
unit.add(dict1[k]['unit'])
#print(unit)
dict2 = {}
for k, v in dict1.items():
if v['daoban'] == '是':
gld = int(int(v['gl'])/10)
dict2.setdefault(gld,{})
dict2[gld].setdefault('num',0)
dict2[gld].setdefault('score',0)
dict2[gld].setdefault('zhongyi',0)
dict2[gld].setdefault('pianpo',0)
if 'avg' in v.keys():
dict2[gld]['num'] = dict2[gld]['num'] + 1
dict2[gld]['score'] = dict2[gld]['score'] + v['avg']
if 'zhongyi' in v.keys() :
dict2[gld]['zhongyi'] = dict2[gld]['zhongyi'] + 1
if 'zhongyi' in v.keys() and v['zhongyi']!='平和':
dict2[gld]['pianpo'] = dict2[gld]['pianpo'] + 1
print(dict2)
nl = {}
nl[0] = '倒班工龄0-9年'
nl[1] = '倒班工龄10-19年'
nl[2] = '倒班工龄20-29年'
nl[3] = '倒班工龄30-39年'
nl[4] = '倒班工龄40-49年'
list1 = []
for k, v in nl.items():
list2 = []
gld = v
num = dict2[k]['num']
score = dict2[k]['score']
if num > 0:
avg = round(score/num,2)
else:
avg = 0
zhongyi = dict2[k]['zhongyi']
pianpo = dict2[k]['pianpo']
list2 = [gld,num,avg,zhongyi,pianpo]
list1.append(list2)
filename = 'data/天津倒班因素分析表(倒班工龄).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
for row in list1:
sheet.append(row)
wb.save(filename)
print('ok!')In [40]:
import openpyxl
import json
wb = openpyxl.load_workbook('data/天津石化员工检测花名册(20230915).xlsx')
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
dict1['unit'] = sheet.cell(n, 5).value
dict1['sub_unit'] = sheet.cell(n, 6).value
dict1['birth'] = sheet.cell(n,4).value
person[code] = dict1
filename = 'data/天津石化人员名单2023.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print('ok')ok
In [ ]:
import json
filename = 'data/天津石化人员名单2023.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/data1.json", "w",encoding = 'utf-8') as file:
file.write(json_data)
print('ok')In [42]:
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
re_ta = {}
dict1 = {}
list1 = []
filename = 'data/天津石化人员名单2023.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/places_result_20230920.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[2])
if user in dict1.keys():
m_item = str(result[3])
re_ta.setdefault(user,{})
re_ta[user]['name'] = dict1[user]['name']
re_ta[user]['sex'] = dict1[user]['sex']
re_ta[user]['unit'] = dict1[user]['unit']
re_ta[user]['sub_unit'] = dict1[user]['sub_unit']
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))
filename = 'data/result_天津2023.json'
with open(filename,'w') as fl:
json.dump(re_ta, fl, ensure_ascii=False)
print(len(re_ta))891 891
In [43]:
import json
import openpyxl
items = ['身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
title = ['编号','姓名','性别','单位','部门','身高','体重','肺活量','握力','坐位体前屈','纵跳','俯卧撑','一分钟仰卧起坐','单脚站立','选择反应时','台阶指数']
filename = 'data/result_天津2023.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/天津石化人员名单2023.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'])
list2.append(dict2[k]['sub_unit'])
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/天津石化体测情况(截至20230920).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
sheet.append(row)
wb.save(filename)In [47]:
import json
filename = 'data/result_天津2023.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
filename = 'data/天津石化人员名单2023.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
dict3 = {}
for k, v in dict2.items():
unit = v['unit']
#sub_unit = v['sub_unit']
dict3.setdefault(unit,{})
dict3[unit].setdefault('人数',0)
#dict3[unit].setdefault(sub_unit,0)
#dict3[unit][sub_unit] = dict3[unit][sub_unit] + 1
dict3[unit]['人数'] = dict3[unit]['人数'] + 1
title =['单位','体测人数']
list1 = []
for k,v in dict1.items():
unit = v['unit']
#sub_unit = v['sub_unit']
#dict3[unit][sub_unit] = dict3[unit][sub_unit] - 1
dict3[unit]['人数'] = dict3[unit]['人数'] - 1
for k, v in dict3.items():
list2 = [k,v['人数']]
list1.append(list2)
filename = 'data/天津部门未测试情况(截至20230920).xlsx'
wb = openpyxl.Workbook()
sheet = wb.active
sheet.append(title)
for row in list1:
sheet.append(row)
wb.save(filename)In [ ]: