adm-ntuh-net/ntuh/assistant.py
2024-12-12 10:19:16 +08:00

72 lines
1.8 KiB
Python
Executable file
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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()