在指定路径下,搜索Excel文件中包含的指定内容,首先需要遍历指定路径,得到该路径下所有Excel文件的绝对/相对路径;然后读取Excel中内容,将文件中的每个单元格的值与要搜索的内容进行判断(正则比较,等值比较)。因此,实现该功能需要完成两部分内容,路径遍历和Excel文件内容读取。
使用os模块遍历指定路径下的所有excel文件
import os
def files(dirpath, suffix=['.xls', 'xlsx']):
for root , dirs, files in os.walk(dirpath):
for name in files:
if os.path.splitext(name)[-1] in suffix:
yield os.path.join(root, name)
使用openpyxl读取excel文件内容
import openpyxl
def econtent(fh, query):
wb = openpyxl.load_workbook(fh)
sheets = wb.sheetnames
for name in sheets:
sheet = wb[name]
for r in range(1, sheet.max_row+1):
for c in range(1, sheet.max_column+1):
v = sheet.cell(row=r, column=c)
if v == query:
print("在{}文件的表{}中找到字符串{}".format(fh, name, query))