检查Excel文件中是否含有插图
1.双击执行程序,并输入要检查的目录(包含子目录下所有xlsx,xls)
2.如有检查到excel中有插图,程序输出文件seekfile_result.txt,并显示插图所在文件 sheet表及图所在位置。
import os
import win32com.client
import xlrd
def run_fast_scandir(dir, key1, key2): # dir: str, ext: list 搜索文件
subfolders, files = [], []
for f in os.scandir(dir):
if f.is_dir():
subfolders.append(f.path)
if f.is_file():
if key1.lower() in f.name.lower() or key2.lower() in f.name.lower():
files.append(f.path)
for dir in list(subfolders):
sf, f = run_fast_scandir(dir, key1, key2)
subfolders.extend(sf)
files.extend(f)
return subfolders, files
def get_xls_sheets(xlsfile): # 获取文件中的sheet表名
xls = xlrd.open_workbook(xlsfile, on_demand=True)
return xls.sheet_names()
def check_pic(xlsfile, sheet): #检查Sheet中是否有图
x = win32com.client.Dispatch("Excel.Application")
wb = x.Workbooks.Open(xlsfile)
ws = wb.Sheets(sheet)
for k in ws.Shapes:
result_file.writelines(xlsfile + " "+sheet+" ")
result_file.writelines(k.TopLeftCell.Address + "\n")
wb = x.WorkBooks.Close()
if name == "main":
seek_path = input("Input search path (like: d:\test):")
subfolders,files = run_fast_scandir(seek_path, "xlsx", "xls") #"xlsx","xls"为要查询的扩展名
i = -1
result_file = open("seekfile_result.txt", "a+")
for f in files:
i += 1
xls_sheets = get_xls_sheets(files[i])
for xls_sheet in xls_sheets:
check_pic(files[i], xls_sheet)
result_file.close()
好知识,才能预见未来
赞赏
0人进行了赞赏支持
0
收藏
申博Sunbet www.0-577.com欢迎您的加入。
网友评论
最新评论
申博sunbet申博Sunbet www.0-577.com欢迎您的加入。还好,适合年轻人看
诚信在线(www.ludiealliedinstitute.com)现已开放诚信在线手机版下载。游戏公平、公开、公正,用实力赢取信誉。不错一直在看。
@温州新闻网 由于是校园时代,单纯无邪的恋爱,以是二人一直相互珍视。应该算中上水平
继上次请来赖琳恩站台,这次又是殷琦,noovy可说是享尽艳福,被问及最喜欢哪种类型?Mark语气暧昧地笑说:「2个感觉不太ㄧ样,殷琦姐像姊姊,可以教很多事情,交际手腕啊,琳恩姐感觉会教你顾家」,团员也都异口同声表示喜欢欧美姊姊型,至于会否觉得嘉宾都是人妻有点可惜?主唱Shawn大胆笑说:「人妻系列才正点,我喜欢看人妻类的,日本的那种」,引来全场惊叫。有豁然开朗的感觉