1. import os
    2. import win32com.client
    3. import win32api
    4. import re,time
    5. import io
    6. import sys
    7. sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
    8. #这三行为了让终端显示中文
    9. dir_name = r'E:\测试' #文件路径
    10. file_name=os.listdir(dir_name) #路径下文件名称
    11. file_dir =[os.path.join(dir_name,x) for x in file_name] #得到文件路径
    12. def matchStr(strres):
    13. if type(strres) == str:
    14. match = re.search('合同已签订',strres)
    15. if match:
    16. return True
    17. else:
    18. return False
    19. else:
    20. return False
    21. for i in range(len(file_dir)):
    22. xlApp = win32com.client.Dispatch('Excel.Application')
    23. xlBook = xlApp.Workbooks.Open(file_dir[i])
    24. try:
    25. sht = xlBook.Sheets(1)
    26. # rowNum = xlApp.ActiveWorkbook.Sheets(1).UsedRange.Rows.Count #返回文件的行数
    27. # colNum = xlApp.ActiveWorkbook.Sheets(1).UsedRange.Columns.Count #返回文件的列数
    28. rowNum = sht.UsedRange.Rows.Count #返回文件的行数
    29. colNum = sht.UsedRange.Columns.Count #返回文件的列数
    30. for row in range(rowNum,0,-1):
    31. for col in range(colNum,0,-1):
    32. if matchStr(sht.Cells(row,col).Value):
    33. print('get ',sht.Cells(row,2).Value)
    34. sys.stdout.flush() #刷新缓存区
    35. str_rows = str(row) + ':' + str(row+1)#这里删的是合并单元格所在的行
    36. sht.Rows(str_rows).Delete()
    37. xlBook.Save()
    38. finally:
    39. xlApp.quit()