打开受保护的Excel文件太慢

我开发了一个脚本,该脚本使用xlwings打开大量受保护(不受密码保护,仅受保护)的excel文件,读取每个文件中的一列并将其写入字典,然后关闭。它可以正常工作而不会产生任何错误,但是suuuper速度很慢。 有没有比下面的代码更快的方法?

import xlwings as xw

def unprotect_xls(filename,date):

    workbook = xw.Book(filename)
    sheet = workbook.sheets['Table1']

    error_length[date] = dict(zip(range(1,21),sheet['BN7:BN26'].value))

    workbook.close()


#### not working example ####
file_names = ['file1','file2',...,'file999']
dates = ['date1',...]

new_files = len(file_names) 

# make dict
error_length = {}

# open excel in background
app = xw.App(visible=False)

#fill dict
for i in range(new_files):
    unprotect_xls(file_names[i],dates[i])

app.quit()
lililinlin23 回答:打开受保护的Excel文件太慢

您是否考虑过将openpyxlxlrd用于此任务?您还可以使用pandas.read_excel函数,该函数在幕后使用这些软件包之一。如果您需要与Excel进行交互,xlwings很好,但是如果您只需要批量读取单元格值,则阅读器库可能更适合。

本文链接:https://www.f2er.com/1470259.html

大家都在问