adm-ntuh-net/ntuh/assistant.py

73 lines
1.8 KiB
Python
Raw Normal View History

2024-12-12 02:19:16 +00:00
#!/usr/bin/python
# -*- coding: utf-8 -*-
# 每個月的助手列表
FILENAME = '/Public/2012/09/2012年9月各月份外科手術主治及住院醫師資料.xls'
FILENAME = '/Public/2013/03/10203_[MonlyReport_M387]_T0_前月份外科手術主治及住院醫師資料.xls'
FILENAME = u'/shares/Public/2020/外科手術主治及住院醫師資料/10904_[MonlyReport_M387]_T0_前月份外科手術主治及住院醫師資料.xls'
from datetime import *
from xlrd import *
#from tempfile import TemporaryFile
from xlwt import Workbook
import os
import re
def Tokenization(s):
s = s.replace(u'', u' ')
s = s.replace(u'', u' ')
s = s.replace(u'.', u' ')
tlist = re.split('[a-zA-Z0-9_ ,;/\(\)!]+', s)
b = []
for t in tlist:
if t:
b.append(t)
print (b)
return b
def Sum(s):
adict = {}
print (s.name)
for row in range(s.nrows):
try:
code = s.cell(row,0).value
date_value = xldate_as_tuple(s.cell(row,1).value, wb.datemode)
d = datetime(*date_value)
physician = s.cell(row,2).value
assistants = s.cell(row,3).value
except:
continue
for a in Tokenization(assistants):
try:
adict[a] += 1
except:
adict[a] = 1
book = Workbook()
sheet1 = book.add_sheet('Sheet 1')
row = 0
for k in sorted(adict.keys()):
if adict[k] == 1:
continue
sheet1.write(row,0,k)
sheet1.write(row,1,adict[k])
row+=1
print (' %s,%s' % (k, adict[k]))
print ('\n\n\n')
out = '%s/%s.xls' % (os.path.dirname(FILENAME), s.name)
book.save(out)
wb = open_workbook(FILENAME)
for s in wb.sheets():
Sum(s)
# exit()