使我遍历 Excel 工作表的函数更高效



我已经为一个应该搜索 excel 文件并操作数据框的程序编写了以下函数,但该函数非常慢,我不确定如何使其更有效率。 有没有另一种方法可以循环访问比这更好的 Excel 工作表?

def read_masterfile(masterfile_path):
sheets_dict = pd.ExcelFile(masterfile_path).sheet_names
for sheet in sheets_dict:
    df = pd.read_excel(masterfile_path, sheet_name = sheet)
    print(sheet)
    print(df.columns)
user_input= input() 
masterfile_dir = (r"C:UserspathDesktopJuly15masterfile.xlsx")
if user_input == 'y': 
   calculated = read_masterfile(masterfile_dir)

通过执行以下操作:

for sheet in sheets_dict:
    df = pd.read_excel(masterfile_path, sheet_name = sheet)

您正在多次从零打开 excel 文件。我猜这就是导致您的代码变慢的原因。

您可以使用以下方法阅读一个Excel文件上的所有工作表:

pd.read_excel(file, sheet_name=None)

这将返回一个字典,其中键是工作表名称,值是数据帧。

最新更新