应用xlrd模块
目标:将excel内的病人数据通过lvef值进行筛选,分成<=35 ,(35~55],>55三级,分类之后根据病人匹配的id号,将总文件夹内的ecg文件进行分组。
#coding:utf-8
import xlrd,os
data = xlrd.open_workbook('data.xlsx')
table = data.sheets()[0]
names = data.sheet_names()
print (table)
print ('the sheet is :' + str(names) + '. Completely loaded') #加载excel表
row = table.nrows
patients = [] #创建一个空病人列表
for line in range(1,row):
name = table.cell(line,1).value
ecg = table.cell(line,2).value
lvef = table.cell(line,3).value
patient = {}
patient['name'] = name
patient['ecg_no'] = ecg
patient['LVEF_value'] = lvef
patients.append(patient)
print('dic completed')
def copy(path,path1):
fp = open(path,'rb')
fp1 = open(path1,'wb')
for i in fp:
fp1.write(i)
fp.close()
fp1.close()
for patient in patients:
print(patient)
levf = patient['LVEF_value']
file_name = str(int(patient['ecg_no']))
if levf <= 35:
copy('F:/ppdf/'+file_name+'.pdf','F:/_0_35/'+file_name+'.pdf')
elif levf >35 and levf <= 55:
copy('F:/ppdf/'+file_name+'.pdf','F:/_35_55/'+file_name+'.pdf')
else:
copy('F:/ppdf/'+file_name+'.pdf','F:/_55_99/'+file_name+'.pdf')
```