55 KiB
55 KiB
In [1]:
import openpyxl
import json
import pymongo
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["tice"]
mycol = mydb["unit"]
name = '中国石油化工股份有限公司安庆炼化分公司'
short_name = '安庆炼化'
myquery = {"name": name}
if mycol.find_one(myquery) is None:
wb = openpyxl.load_workbook('data/中国石油化工股份有限公司安庆炼化分公司员工在职人员名单.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
depart = []
dict1 = {}
new_code = []
for n in range(2, sheet.max_row+1):
m_depart = sheet.cell(n,5).value
if m_depart not in depart:
depart.append(sheet.cell(n,5).value)
# print(sheet.cell(n,5).value)
dict1['name'] = '中国石油化工股份有限公司安庆炼化分公司'
dict1['short_name'] = '安庆炼化'
dict1['depart'] = depart
mycol.insert_one(dict1)
print('ok!')
else:
print('该单位已存在!')该单位已存在!
In [ ]:
import pymongo
from bson.objectid import ObjectId
from dateutil import parser
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["tice"]
mycol = mydb["unit"]
mycol1 = mydb["event"]
dict1 = {}
name = '中国石油化工股份有限公司安庆炼化分公司'
myquery = {"name": name}
dict1['code'] = 120
dict1['unit'] = '中国石油化工股份有限公司安庆炼化分公司'
dict1['address'] = '安徽安庆'
dict1['date_begin'] = '2021-09-08'
dict1['date_end'] = '2021-09-30'
if mycol.find_one(myquery) is None:
print('体测单位不存在!')
else:
myquery1 = {"code": dict1['code']}
if mycol1.find_one(myquery1) is None:
mycol1.insert_one(dict1)
print('ok!')
else:
print('该体测信息已经存在!')In [ ]:
import openpyxl
import json
import pymongo
from bson.objectid import ObjectId
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["tice"]
mycol = mydb["person"]
wb = openpyxl.load_workbook('data/中国石油化工股份有限公司安庆炼化分公司员工在职人员名单.xlsx')
sheet = wb.active
# sheets = wb.sheetnames
list1 = []
person = {}
new_code = []
for n in range(2, sheet.max_row+1):
code = 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
if sheet.cell(n, 4).value is None:
dict1['birth'] = sheet.cell(n, 6).value
else:
dict1['id_num'] = sheet.cell(n, 4).value
person[code] = dict1
filename = '安庆炼化人员名单.json'
with open(filename, 'w') as fl:
json.dump(person, fl, ensure_ascii=False)
print('ok')In [ ]:
import json
import pymongo
from bson.objectid import ObjectId
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["tice"]
mycol = mydb["person"]
db = pymysql.connect("localhost","root","songyi","ydyb" )
cursor = db.cursor()
place_id = 120
exam_person = []
sql = f'SELECT distinct a.avatar_id FROM places_result AS a WHERE a.place_id={place_id} and a.avatar_id < 4999 ORDER BY a.avatar_id '
cursor.execute(sql)
results = cursor.fetchall()
cursor.close
for result in results:
exam_person.append(str(result[0]).rjust(5,'0'))
filename = '安庆炼化人员名单.json'
list1 = []
list2 = []
with open(filename,'r') as fl:
all_person = json.load(fl)
with open('result.json','r') as fl1:
res = json.load(fl1)
for k, v in all_person.items():
if k in exam_person:
dict2 = {}
dict3 = {}
dict2['name'] = v['name']
if v['sex'] == '男':
dict2['sex'] = 'M'
else:
dict2['sex'] = 'F'
if 'birth' in v:
s = str(v['birth'])
dict2['birth'] = f'{s[:4]}-{s[4:6]}-{s[6:8]}'
if 'id_num' in v:
s = v['id_num']
dict2['id_num'] = s
dict2['birth'] = f'{s[6:10]}-{s[10:12]}-{s[12:14]}'
dict2.setdefault('exam',[])
dict3['code'] = 120
dict3['sn'] = k
dict3['result'] = res[k]
dict2['exam'].append(dict3)
list1.append(dict2)
x = mycol.insert_many(list1)
mycol1 = mydb["event"]
myquery = {'code':120}
mycol1.update_one(myquery, {'$push': {'persons':x.inserted_ids}})
print('ok!')In [ ]:
import json
import pymongo
from bson.objectid import ObjectId
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["tice"]
mycol = mydb["person1"]
db = pymysql.connect("localhost","root","songyi","ydyb" )
cursor = db.cursor()
place_id = 120
exam_person = []
sql = f'SELECT distinct a.avatar_id FROM places_result AS a WHERE a.place_id={place_id} and a.avatar_id < 4999 ORDER BY a.avatar_id '
cursor.execute(sql)
results = cursor.fetchall()
cursor.close
for result in results:
exam_person.append(str(result[0]).rjust(5,'0'))
filename = '安庆炼化人员名单.json'
list1 = []
list2 = []
with open(filename,'r') as fl:
all_person = json.load(fl)
with open('result.json','r') as fl1:
res = json.load(fl1)
for k,v in all_person.items():
if k in exam_person:
dict2 = {}
dict3 = {}
dict2['name'] = v['name']
if v['sex'] == '男':
dict2['sex'] = 'M'
else:
dict2['sex'] = 'F'
if 'birth' in v:
s = str(v['birth'])
dict2['birth'] = f'{s[:4]}-{s[4:6]}-{s[6:8]}'
if 'id_num' in v:
s = v['id_num']
dict2['id_num'] = s
dict2['birth'] = f'{s[6:10]}-{s[10:12]}-{s[12:14]}'
dict2.setdefault('exam',[])
dict3['code'] = 120
dict3['sn'] = k
dict3['result'] = res[k]
dict2['exam'].append(dict3)
list1.append(dict2)
x = mycol.insert_many(list1)
mycol1 = mydb["event"]
myquery = {'code':120}
mycol1.update_one(myquery,{'$push':{'persons':x.inserted_ids}})
print('ok!')In [ ]:
import json
from bson.objectid import ObjectId
import pymongo
import pymysql
db = pymysql.connect("localhost","root","songyi","ydyb" )
cursor = db.cursor()
list1 = []
sql = f'SELECT distinct a.avatar_id FROM places_result AS a WHERE a.place_id={place_id} and a.avatar_id < 4999 ORDER BY a.avatar_id '
cursor.execute(sql)
results = cursor.fetchall()
cursor.close
for result in results:
list1.append(str(result[0]).rjust(5,'0'))
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["tice"]
mycol = mydb["event"]
myquery = {'code':120}
mycol.update_one(myquery,{'$push':{'persons':list1}})
print('ok')
In [ ]:
import pymysql
import json
import time
filename = 'item.json'
item = {}
unit = {}
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k,v in dict1.items():
item[k] = v
user_id = 5
place_id =120
#user = '包永'
db = pymysql.connect("localhost","root","songyi","ydyb" )
cursor = db.cursor()
sql = f'SELECT a.item_id,a.performance,a.score,DATE_FORMAT(a.date,"%Y-%m-%d") as date1,a.avatar_id FROM places_result AS a WHERE a.place_id={place_id} AND a.avatar_id < 4999 ORDER BY a.avatar_id,date1'
cursor.execute(sql)
re_ta = {}
dict1 = {}
print("\n运动项目信息:")
results = cursor.fetchall()
for result in results:
user = str(result[4]).rjust(5,'0')
m_item = str(result[0])
re_ta.setdefault(user,{})
re_ta[user]['date'] =result[3]
item_name = item[m_item]['name']
re_ta[user].setdefault(item_name,{})
#dict1.setdefault(item[m_item]['name'],{})
score = result[1]/item[m_item]['divisor']
#dict1[item[m_item]['name']]['成绩'] =f'{score} {item[m_item]["unit"]}'
#dict1[item[m_item]['name']]['得分'] =result[2]
re_ta[user][item_name]['成绩'] = f'{score} {item[m_item]["unit"]}'
re_ta[user][item_name]['得分'] =result[2]
#re_ta[user] = dict1
#print(re_ta)
filename = 'result.json'
with open(filename,'w') as fl:
json.dump(re_ta, fl,ensure_ascii=False)
print('ok')
In [ ]:
import pdfplumber
# 读取 PDF 文档
pdf = pdfplumber.open("file/211027/114.pdf")
# 获取页数
print("总页数:",len(pdf.pages))
print("-----------------------------------------")
n = len(pdf.pages)
# 读取第 4 页;索引从 0开始
page = pdf.pages[n-2]
print("本页:",page.page_number)
print("-----------------------------------------")
text = page.extract_text()
#for s in text:
# print(s)
print(text)
print(text.split('\n'))In [ ]:
import pdfplumber
import pymysql
"""获取人员测试成绩"""
user_id = 5
place_id =120
db = pymysql.connect("localhost","root","songyi","ydyb" )
cursor = db.cursor()
sql = f'SELECT a.item_id,a.performance,a.score,a.date FROM places_result AS a WHERE a.place_id={place_id} AND a.avatar_id={user_id}'
cursor.execute(sql)
re_ta = {}
print("\n运动项目信息:")
results = cursor.fetchall()
for result in results:
# print ("%d--%s" %(result[0],result[1]))
re_ta[result[0]] = result[1]
dict1 = {}
# 读取 PDF 文档
pdf = pdfplumber.open("5.pdf")
# 获取页数
num = len(pdf.pages)
page = pdf.pages[0]
text = page.extract_text()
dict1['name'] = text.split('\n')[2]
dict1['sn'] = text.split('\n')[4]
print(dict1)In [ ]:
import pymysql
import json
db = pymysql.connect("localhost","root","songyi","ydyb" )
cursor = db.cursor()
sql = "SELECT a.id,a.name, b.name,b.divisor FROM items AS a,items_unit AS b WHERE a.unit_id = b.id"
cursor.execute(sql)
dict1 = {}
results = cursor.fetchall()
for result in results:
# print ("%d--%s" %(result[0],result[1]))
item = {}
id = result[0]
dict1.setdefault(id,{})
item['name'] = result[1]
item['unit'] = result[2]
item['divisor'] = result[3]
dict1[id] = item
filename = 'item.json'
with open(filename,'w') as fl:
json.dump(dict1, fl,ensure_ascii=False)
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k,v in dict1.items():
print(k,v)In [ ]:
import json
filename = 'item.json'
item = {}
with open(filename,'r') as fl:
dict1 = json.load(fl)
for k,v in dict1.items():
item[k] = v
print(item['1'])In [ ]:
from pdf2image import convert_from_path, convert_from_bytes
import img2pdf
import glob
import os,sys
import tempfile
from pdf2image.exceptions import (
PDFInfoNotInstalledError,
PDFPageCountError,
PDFSyntaxError
)
#images = convert_from_path('1.pdf',dpi=200,fmt='jpg', output_folder='./sample_data')
fl_path = 'file/split'
new_path ='file/new_split'
old = glob.glob(f'{fl_path}/*.pdf')
old.sort()
for old_file in old:
s = os.path.basename(old_file).split('.')[0].rjust(5,'0')
new_file = f'{new_path}/{s}.pdf'
with tempfile.TemporaryDirectory() as path:
images_from_path = convert_from_path(old_file, dpi=100,fmt='jpg', output_folder=path)
fl=glob.glob(f'{path}/*.jpg')
fl.sort()
a4inpt = (img2pdf.mm_to_pt(210),img2pdf.mm_to_pt(297))
layout_fun = img2pdf.get_layout_fun(a4inpt)
with open(new_file,"wb") as f:
f.write(img2pdf.convert(fl,layout_fun=layout_fun))
#print(path)
print(new_file,'ok')
#print(old)
In [ ]:
import glob
import os,sys
import pymongo
from gridfs import GridFS
from bson.objectid import ObjectId
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["tice"]
mycol = mydb["event"]
UploadCache = "uploadcache"
dbURL = "mongodb://localhost:27017"
#上传文件
def upLoadFile(file_coll,file_name,data_link):
filter_condition = {"filename": os.path.basename(file_name), "url": data_link}
gridfs_col = GridFS(mydb, collection=file_coll)
file_ = "0"
query = {"filename":""}
query["filename"] = file_name
if gridfs_col.exists(query):
print('已经存在该文件')
else:
with open(file_name, 'rb') as file_r:
file_data = file_r.read()
file_ = gridfs_col.put(data=file_data, **filter_condition) # 上传到gridfs
print(file_)
return file_
dict1 = {}
list1 = []
#mycol.update_one(myquery,{'$push':{'persons':list1}})
fl_path = 'file/new'
fl=glob.glob(f'{fl_path}/*.pdf')
fl.sort()
for fi in fl:
s = os.path.basename(fi).split('.')[0]
#print(s)
dict1[s] = upLoadFile("report",fi,"")
print(s)
myquery = {'code':120}
mycol.update_one(myquery,{'$set':{'report':dict1}})
In [ ]:
import glob
import os,sys
import pymongo
from gridfs import GridFS
myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["tice"]
mycol = mydb["event"]
sn = '00005'
s = f'report.{sn}'
myquery = {s:{'$exists':True},'code':120}
x = mycol.find_one(myquery,{s:1})
if x:
print(x['report'][sn])
else:
print('no record!')
#print(type(x))In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('file/脊柱症状自我诊断表代码表.xlsx')
sheet = wb.active
#sheets = wb.sheetnames
dict1 = {}
for n in range(1,sheet.max_row+1):
dict1[sheet.cell(n,1).value] = sheet.cell(n,2).value
filename = '脊柱症状自我诊断表代码表.json'
with open(filename,'w') as fl:
json.dump(dict1, fl,ensure_ascii=False)
print(dict1)
In [ ]:
import openpyxl
import json
with open('脊柱症状自我诊断表代码表.json','r') as fl:
dm = json.load(fl)
wb = openpyxl.load_workbook('file/脊柱症状自我诊断表统计.xlsx')
sheet = wb.active
#sheets = wb.sheetnames
dict1 = {}
for n in range(1,sheet.max_row+1):
mdm = sheet.cell(n,1).value
dict1.setdefault(mdm,{})
dict2 = {}
list1 = []
for i in range(2,36):
if sheet.cell(n,i).value is None:
break
else:
s = str(sheet.cell(n,i).value)
if s.isnumeric():
list1.append(dm[s])
else:
dict2['备注'] = s
dict2['症状'] = list1
dict1[mdm] = dict2
filename = '脊柱症状自我诊断表统计.json'
with open(filename,'w') as fl:
json.dump(dict1, fl,ensure_ascii=False)
print('ok')In [ ]:
import json
wb = openpyxl.load_workbook('data/脊椎症状自评矩阵代码表.xlsx')
sheet = wb.active
dict1 = {}
for n in range(2,sheet.max_row+1):
mxh = sheet.cell(n,1).value
dict1.setdefault(mxh,{})
mwt = sheet.cell(n,2).value
mtj = sheet.cell(n,3).value
mdm = sheet.cell(n,4).value
dict1[mxh]['代码'] = mdm
dict1[mxh]['问题'] = mwt
dict1[mxh]['条件'] = mtj
filename = 'data/脊柱症状自评代码矩阵.json'
with open(filename,'w') as fl:
json.dump(dict1, fl,ensure_ascii=False)
print('ok')In [ ]:
import json
dict1 = {}
dict1['颈椎'] = 1000
dict1['胸椎'] = 100
dict1['腰椎'] = 10
dict1['骶尾椎'] = 1
dict_all = {}
filename = '脊柱症状自我诊断表统计.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
list_all = dict2.keys()
filename = '脊柱症状统计汇总表.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
list_zz = dict2.keys()
sorted(list_all)
for item in list_all:
if item not in list_zz:
dict_all[item] = '0000'
else:
m_sum = 0
for item1 in dict2[item]:
m_sum += dict1[item1]
dict_all[item] = str(m_sum).rjust(4,'0')
filename = 'data/脊柱症状自评数据矩阵.json'
with open(filename,'w') as fl:
json.dump(dict_all, fl,ensure_ascii=False)
print('ok')
print(len(dict_all))
In [38]:
import json
import openpyxl
import pymysql
import json
db = pymysql.connect("localhost","root","songyi","ydyb" )
cursor = db.cursor()
fi_xls = 'data/北海炼化名单表(前后台).xlsx'
wb = openpyxl.load_workbook(fi_xls)
sheet = wb.active
depart = {}
m_xx ={}
for n in range(2,sheet.max_row+1):
m_dm = str(sheet.cell(n,1).value)
m_xb = sheet.cell(n,3).value
m_depart = sheet.cell(n,6).value
depart[m_dm] = m_depart
m_xx[m_dm] = [m_xb,m_depart] #人员信息
filename = 'data/脊柱症状自评代码矩阵.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict2 = dict1.values()
dm = {}
for item in dict2:
dm[item['代码']] = item['问题']
print(dm)
list_dm = dm.keys()
filename = 'data/脊柱症状自评数据矩阵.json'
with open(filename,'r') as fl:
data = json.load(fl)
# 生成人员信息表,含性别、部门
list1 = []
for k, v in data.items():
list2 = []
list2.append(k)
list2.append(m_xx[k][0])
list2.append(m_xx[k][1])
list2.append(v)
list1.append(list2)
'''sql = 'insert into tongji(ygdm,xb,bm,jzdm) values(%s,%s,%s,%s)'
#try:
# 执行sql语句
cursor.executemany(sql, list1)
# 提交到数据库执行
db.commit()
#except :
# 如果发生错误则回滚
# db.rollback()
# 关闭游标
cursor.close()
# 关闭数据库连接
db.close()'''
sql = 'SELECT bm,xb,jzdm,COUNT(jzdm) FROM tongji where bm="管理部门" GROUP BY bm,jzdm,xb ORDER BY jzdm,xb'
cursor.execute(sql)
results = cursor.fetchall()
result = {}
print('管理部门')
for row in results:
result.setdefault(row[2],{})
result[row[2]][row[1]] = row[3]
#print(result)
for k, v in dm.items():
if k in result.keys():
if '男' in result[k].keys():
nan = result[k]['男']
else:
nan = 0
if '女' in result[k].keys():
nv = result[k]['女']
else:
nv = 0
print(v,'男',nan,'女',nv)
else:
print(v,'男',0,'女',0)
sql = 'SELECT bm,xb,jzdm,COUNT(jzdm) FROM tongji where bm="一线部门" GROUP BY bm,jzdm,xb ORDER BY jzdm,xb'
cursor.execute(sql)
results = cursor.fetchall()
result = {}
print('一线部门')
for row in results:
result.setdefault(row[2],{})
result[row[2]][row[1]] = row[3]
#print(result)
for k, v in dm.items():
if k in result.keys():
if '男' in result[k].keys():
nan = result[k]['男']
else:
nan = 0
if '女' in result[k].keys():
nv = result[k]['女']
else:
nv = 0
print(v,'男',nan,'女',nv)
else:
print(v,'男',0,'女',0)
{'0000': '0个症状', '1000': '仅有颈椎问题', '0100': '仅有胸椎问题', '0010': '仅有腰椎问题', '0001': '仅有骶尾椎问题', '1100': '颈椎问题+胸椎问题', '1010': '颈椎问题+腰椎问题', '1001': '颈椎问题+骶尾椎问题', '0110': '胸椎问题+腰椎问题', '0101': '胸椎问题+骶尾椎问题', '0011': '腰椎问题+骶尾椎问题', '1110': '颈椎问题+胸椎问题+腰椎问题', '1101': '颈椎问题+胸椎问题+骶尾椎问题', '0111': '胸椎问题+腰椎问题+骶尾椎问题', '1011': '颈椎问题+腰椎问题+骶尾椎问题', '1111': '颈椎问题+胸椎问题+腰椎问题+骶尾椎问题'}
管理部门
0个症状 男 16 女 3
仅有颈椎问题 男 15 女 1
仅有胸椎问题 男 1 女 1
仅有腰椎问题 男 5 女 2
仅有骶尾椎问题 男 0 女 2
颈椎问题+胸椎问题 男 6 女 2
颈椎问题+腰椎问题 男 6 女 7
颈椎问题+骶尾椎问题 男 1 女 1
胸椎问题+腰椎问题 男 1 女 1
胸椎问题+骶尾椎问题 男 0 女 0
腰椎问题+骶尾椎问题 男 1 女 0
颈椎问题+胸椎问题+腰椎问题 男 10 女 4
颈椎问题+胸椎问题+骶尾椎问题 男 1 女 0
胸椎问题+腰椎问题+骶尾椎问题 男 1 女 1
颈椎问题+腰椎问题+骶尾椎问题 男 2 女 3
颈椎问题+胸椎问题+腰椎问题+骶尾椎问题 男 5 女 6
一线部门
0个症状 男 71 女 13
仅有颈椎问题 男 68 女 8
仅有胸椎问题 男 7 女 6
仅有腰椎问题 男 11 女 6
仅有骶尾椎问题 男 3 女 1
颈椎问题+胸椎问题 男 30 女 4
颈椎问题+腰椎问题 男 34 女 13
颈椎问题+骶尾椎问题 男 3 女 4
胸椎问题+腰椎问题 男 11 女 4
胸椎问题+骶尾椎问题 男 2 女 1
腰椎问题+骶尾椎问题 男 2 女 3
颈椎问题+胸椎问题+腰椎问题 男 65 女 14
颈椎问题+胸椎问题+骶尾椎问题 男 5 女 2
胸椎问题+腰椎问题+骶尾椎问题 男 0 女 0
颈椎问题+腰椎问题+骶尾椎问题 男 4 女 3
颈椎问题+胸椎问题+腰椎问题+骶尾椎问题 男 28 女 12
In [10]:
import json
import openpyxl
fi_xls = 'data/北海炼化名单表(前后台).xlsx'
wb = openpyxl.load_workbook(fi_xls)
sheet = wb.active
depart = {}
for n in range(2,sheet.max_row+1):
m_dm = str(sheet.cell(n,1).value)
m_depart = sheet.cell(n,6).value
depart[m_dm] = m_depart
filename = 'data/脊柱症状自评代码矩阵.json'
with open(filename,'r') as fl:
dict1 = json.load(fl)
dict2 = dict1.values()
dm = {}
for item in dict2:
dm[item['代码']] = item['问题']
print(dm)
list_dm = dm.keys()
filename = 'data/脊柱症状自评数据矩阵.json'
with open(filename,'r') as fl:
data = json.load(fl)
dict_tj = {}
for k, v in data.items():
dict_tj.setdefault(v,0)
dict_tj[v] +=1
result = {}
for k, v in data.items():
result.setdefault(depart[k],{})
result[depart[k]].setdefault(v,0)
result[depart[k]][v] += 1
#new_dict = sorted(result.items(), key = lambda kv:(kv[1], kv[0]),reverse=True)
#print(part)
print(result)
wb = openpyxl.Workbook()
m_totle = 0
sheet = wb.active
i = 1
for k, v in result.items():
print(k)
dict3 = {}
for k1, v1 in v.items():
dict3[k1] = v1
for m_dm in dm:
if m_dm in dict3.keys():
print(dm[m_dm],dict3[m_dm])
{'0000': '0个症状', '1000': '仅有颈椎问题', '0100': '仅有胸椎问题', '0010': '仅有腰椎问题', '0001': '仅有骶尾椎问题', '1100': '颈椎问题+胸椎问题', '1010': '颈椎问题+腰椎问题', '1001': '颈椎问题+骶尾椎问题', '0110': '胸椎问题+腰椎问题', '0101': '胸椎问题+骶尾椎问题', '0011': '腰椎问题+骶尾椎问题', '1110': '颈椎问题+胸椎问题+腰椎问题', '1101': '颈椎问题+胸椎问题+骶尾椎问题', '0111': '胸椎问题+腰椎问题+骶尾椎问题', '1011': '颈椎问题+腰椎问题+骶尾椎问题', '1111': '颈椎问题+胸椎问题+腰椎问题+骶尾椎问题'}
{'一线部门': {'1111': 40, '0110': 15, '1110': 79, '1010': 47, '1100': 34, '0000': 84, '0010': 17, '1011': 7, '1000': 76, '0001': 4, '1101': 7, '0100': 13, '1001': 7, '0011': 5, '0101': 3}, '管理部门': {'1000': 16, '1110': 14, '1011': 5, '0001': 2, '1111': 11, '1100': 8, '0110': 2, '0000': 19, '0010': 7, '1010': 13, '0011': 1, '1001': 2, '1101': 1, '0111': 2, '0100': 2}}
一线部门
0个症状 84
仅有颈椎问题 76
仅有胸椎问题 13
仅有腰椎问题 17
仅有骶尾椎问题 4
颈椎问题+胸椎问题 34
颈椎问题+腰椎问题 47
颈椎问题+骶尾椎问题 7
胸椎问题+腰椎问题 15
胸椎问题+骶尾椎问题 3
腰椎问题+骶尾椎问题 5
颈椎问题+胸椎问题+腰椎问题 79
颈椎问题+胸椎问题+骶尾椎问题 7
颈椎问题+腰椎问题+骶尾椎问题 7
颈椎问题+胸椎问题+腰椎问题+骶尾椎问题 40
管理部门
0个症状 19
仅有颈椎问题 16
仅有胸椎问题 2
仅有腰椎问题 7
仅有骶尾椎问题 2
颈椎问题+胸椎问题 8
颈椎问题+腰椎问题 13
颈椎问题+骶尾椎问题 2
胸椎问题+腰椎问题 2
腰椎问题+骶尾椎问题 1
颈椎问题+胸椎问题+腰椎问题 14
颈椎问题+胸椎问题+骶尾椎问题 1
胸椎问题+腰椎问题+骶尾椎问题 2
颈椎问题+腰椎问题+骶尾椎问题 5
颈椎问题+胸椎问题+腰椎问题+骶尾椎问题 11
In [ ]:
import json
import openpyxl
## 导入脊椎症状对照表
wb = openpyxl.load_workbook('file/脊椎症状对应表.xlsx')
sheet = wb.active
dict1 = {}
'''for n in range(2,sheet.max_row+1):
mjz = sheet.cell(n,1).value
dict1.setdefault(mjz,[])
dict1[mjz].append(sheet.cell(n,2).value)
#print(dict1)'''
for n in range(2,sheet.max_row+1):
mzz = sheet.cell(n,2).value
mjz = sheet.cell(n,1).value
dict1[mzz] = mjz
#print(dict1)
filename = '脊柱症状自我诊断表统计.json'
result = {}
with open(filename,'r') as fl:
dict2 = json.load(fl)
#print(dict1)
for k, v in dict2.items():
result.setdefault(k,[])
for k1, v1 in v.items():
for zz in v1:
if zz in dict1.keys() and dict1[zz] not in result[k]:
result[k].append(dict1[zz])
for k in list(result.keys()):
if not result.get(k):
del result[k]
#print(result)
filename = '脊柱症状统计汇总表.json'
with open(filename,'w') as fl:
json.dump(result, fl,ensure_ascii=False)
print('ok')In [ ]:
import json
import openpyxl
import os,sys,shutil
## 导入脊椎症状对照表
wb = openpyxl.load_workbook('file/脊椎症状对应表.xlsx')
sheet = wb.active
dict1 = {}
for n in range(2,sheet.max_row+1):
mzz = sheet.cell(n,2).value
mjz = sheet.cell(n,1).value
dict1[mzz] = mjz
fi_xls = os.getcwd() + '/北海炼化名单表(202110).xlsx'
wb = openpyxl.load_workbook(fi_xls)
sheet = wb.active
depart = {}
part = []
for n in range(2,sheet.max_row+1):
m_dm = str(sheet.cell(n,1).value)
m_depart = sheet.cell(n,5).value
depart[m_dm] = m_depart
if m_depart not in part:
part.append(m_depart)
filename = '脊柱症状统计汇总表.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
result = {}
#print(dict2)
for k, v in dict2.items():
result.setdefault(depart[k],{})
for v1 in v:
result[depart[k]].setdefault(v1,0)
result[depart[k]][v1] += 1
#print(part)
print(result)
wb = openpyxl.Workbook()
m_totle = 0
sheet = wb.active
i = 1
for name in part:
m_sum = 0
sheet[f'A{i}'] = name
i +=1
sheet[f'A{i}'] = '脊椎'
sheet[f'B{i}'] = '人数'
i +=1
new_dict = sorted(result[name].items(), key = lambda kv:(kv[1], kv[0]),reverse=True)
for k, v in new_dict:
sheet[f'A{i}'] = k
sheet[f'B{i}'] = v
i +=1
m_sum +=v
sheet[f'A{i}'] = '合计'
sheet[f'B{i}'] = m_sum
m_totle = m_totle + m_sum
i +=2
sheet[f'A{i}'] = '总计'
sheet[f'B{i}'] = m_totle
wb.save('test4.xlsx')In [ ]:
import json
import openpyxl
import os,sys,shutil
## 导入脊椎症状对照表
wb = openpyxl.load_workbook('file/脊椎症状对应表.xlsx')
sheet = wb.active
dict1 = {}
filename = '脊柱症状统计汇总表.json'
with open(filename,'r') as fl:
dict2 = json.load(fl)
result = {}
#print(dict2)
for k, v in dict2.items():
for v1 in v:
result.setdefault(v1,0)
result[v1] += 1
#print(part)
print(result)
wb = openpyxl.Workbook()
m_sum = 0
sheet = wb.active
i = 1
sheet[f'A{i}'] = name
i +=1
sheet[f'A{i}'] = '脊椎'
sheet[f'B{i}'] = '人数'
i +=1
new_dict = sorted(result.items(), key = lambda kv:(kv[1], kv[0]),reverse=True)
for k, v in new_dict:
sheet[f'A{i}'] = k
sheet[f'B{i}'] = v
i +=1
m_sum +=v
sheet[f'A{i}'] = '合计'
sheet[f'B{i}'] = m_sum
wb.save('test4.xlsx')In [ ]:
import json
import openpyxl
import os,sys,shutil
## 导入脊椎症状对照表
wb = openpyxl.load_workbook('file/脊椎症状对应表.xlsx')
sheet = wb.active
dict1 = {}
for n in range(2,sheet.max_row+1):
mzz = sheet.cell(n,2).value
mjz = sheet.cell(n,1).value
dict1[mzz] = mjz
fi_xls = os.getcwd() + '/北海炼化名单表(202110).xlsx'
wb = openpyxl.load_workbook(fi_xls)
sheet = wb.active
depart = {}
part = []
for n in range(2,sheet.max_row+1):
m_dm = str(sheet.cell(n,1).value)
m_depart = sheet.cell(n,5).value
depart[m_dm] = m_depart
if m_depart not in part:
part.append(m_depart)
filename = '脊柱症状自我诊断表统计.json'
result = {}
with open(filename,'r') as fl:
dict2 = json.load(fl)
#print(dict1)
for k, v in dict2.items():
result.setdefault(k,[])
for k1, v1 in v.items():
for zz in v1:
if zz in dict1.keys():
result[k].append(zz)
for k in list(result.keys()):
if not result.get(k):
del result[k]
#print(result)
result1 = {}
#print(dict2)
for k, v in result.items():
result1.setdefault(depart[k],{})
for v1 in v:
result1[depart[k]].setdefault(v1,0)
result1[depart[k]][v1] += 1
#print(result1)
wb = openpyxl.Workbook()
sheet = wb.active
i = 1
m_totle = 0
for name in part:
sheet[f'A{i}'] = name
i +=1
sheet[f'A{i}'] = '症状'
sheet[f'B{i}'] = '人数'
i +=1
m_sum = 0
new_dict = sorted(result1[name].items(), key = lambda kv:(kv[1], kv[0]),reverse=True)
for k, v in new_dict:
sheet[f'A{i}'] = k
sheet[f'B{i}'] = v
m_sum +=v
i +=1
sheet[f'A{i}'] = '合计'
sheet[f'B{i}'] = m_sum
m_totle = m_totle + m_sum
i +=2
sheet[f'A{i}'] = '总计'
sheet[f'B{i}'] = m_totle
wb.save('test3.xlsx')In [ ]:
import json
import openpyxl
import os,sys,shutil
## 导入脊椎症状对照表
filename = '脊柱症状自我诊断表统计.json'
result = {}
with open(filename,'r') as fl:
dict2 = json.load(fl)
#print(dict1)
for k, v in dict2.items():
result.setdefault(k,[])
for k1, v1 in v.items():
for zz in v1:
if zz in dict1.keys():
result[k].append(zz)
for k in list(result.keys()):
if not result.get(k):
del result[k]
result1 = {}
#print(dict2)
for k, v in result.items():
for v1 in v:
result1.setdefault(v1,0)
result1[v1] += 1
#print(result1)
wb = openpyxl.Workbook()
sheet = wb.active
i = 1
m_totle = 0
sheet[f'A{i}'] = name
i +=1
sheet[f'A{i}'] = '症状'
sheet[f'B{i}'] = '人数'
i +=1
m_sum = 0
new_dict = sorted(result1.items(), key = lambda kv:(kv[1], kv[0]),reverse=True)
for k, v in new_dict:
sheet[f'A{i}'] = k
sheet[f'B{i}'] = v
m_sum +=v
i +=1
sheet[f'A{i}'] = '合计'
sheet[f'B{i}'] = m_sum
wb.save('test3.xlsx')In [ ]:
import json
import openpyxl
## 导入脊椎症状对照表
wb = openpyxl.load_workbook('file/脊椎症状对应表.xlsx')
sheet = wb.active
dict1 = {}
'''for n in range(2,sheet.max_row+1):
mjz = sheet.cell(n,1).value
dict1.setdefault(mjz,[])
dict1[mjz].append(sheet.cell(n,2).value)
#print(dict1)'''
for n in range(2,sheet.max_row+1):
mzz = sheet.cell(n,2).value
mjz = sheet.cell(n,1).value
dict1[mzz] = mjz
#print(dict1)
filename = '脊柱症状自我诊断表统计.json'
result = {}
with open(filename,'r') as fl:
dict2 = json.load(fl)
#print(dict1)
for k, v in dict2.items():
result.setdefault(k,[])
for k1, v1 in v.items():
for zz in v1:
print(zz)
In [ ]:
import openpyxl
import json
wb = openpyxl.load_workbook('file/北海炼化公司职工心理健康量表统计.xlsx')
sheet = wb.active
dict1 = {}
for n in range(2,sheet.max_row+1):
mdm = sheet.cell(n,1).value
dict1.setdefault(mdm,{})
dict2 = {}
list1 = [1,2,3,4,5,None]
for i in range(2,42):
#if sheet.cell(n,i).value not in list1:
# print(f'error!{mdm}--{sheet.cell(n,i).value}')
dict2[i-1] = sheet.cell(n,i).value
dict1[mdm] = dict2
filename = '北海炼化公司职工心理健康量表统计.json'
with open(filename,'w') as fl:
json.dump(dict1, fl,ensure_ascii=False)
print('ok')In [ ]:
import openpyxl
wb = openpyxl.load_workbook('file/北海炼化公司职工心理健康量表统计.xlsx')
sheet = wb.active
list1 = []
dict1 = {}
i = 0
for n in range(2,sheet.max_row+1):
mdm = sheet.cell(n,1).value
if mdm in list1:
print(F'{i}-{mdm}已存在!')
else:
list1.append(mdm)
i = i + 1
In [ ]:
import json
filename = '脊柱症状统计汇总表.json'
item = {}
with open(filename,'r') as fl:
dict1 = json.load(fl)
print(len(dict1))In [ ]:
import pdfplumber
import glob
import os,sys
import json
from PyPDF2 import PdfFileWriter, PdfFileReader, PdfFileMerger
filename = '北海炼化公司职工心理健康量表统计.json'
list1 = []
with open(filename,'r') as fl:
dict1 = json.load(fl)
'''
for k, v in dict1.items():
if None in v.values():
list1.append(k)
'''
list1 = dict1.keys()
fl_path = 'file/211027'
new_path ='file/split/'
old = glob.glob(f'{fl_path}/*.pdf')
old.sort()
for old_file in old:
name = os.path.basename(old_file).split('.')[0]
if name in list1:
pdfWriter = PdfFileWriter()
pdf_reader = PdfFileReader(old_file)
n = pdf_reader.numPages
pdfWriter.addPage(pdf_reader.getPage(n-2))
split_file = f'{new_path}{name}.pdf'
with open(split_file, 'wb') as pdfOutputFile:
pdfWriter.write(pdfOutputFile)In [ ]:
import pdfplumber
import glob
import os,sys
import json
from PyPDF2 import PdfFileWriter, PdfFileReader, PdfFileMerger
filename = '北海炼化公司职工心理健康量表统计.json'
list1 = []
with open(filename,'r') as fl:
dict1 = json.load(fl)
'''
for k, v in dict1.items():
if None in v.values():
list1.append(k)
'''
list1 = dict1.keys()
fl_path = 'file/211027'
new_path ='file/split/'
old = glob.glob(f'{fl_path}/*.pdf')
old.sort()
for old_file in old:
name = os.path.basename(old_file).split('.')[0]
pdfWriter = PdfFileWriter()
pdf_reader = PdfFileReader(old_file)
n = pdf_reader.numPages
pdfWriter.addPage(pdf_reader.getPage(n-1))
split_file = f'{new_path}{name}.pdf'
with open(split_file, 'wb') as pdfOutputFile:
pdfWriter.write(pdfOutputFile)In [ ]: