我为应该在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:\Users\path\Desktop\July15\masterfile.xlsx")
if user_input == 'y':
calculated = read_masterfile(masterfile_dir)
答案 0 :(得分:0)
通过执行以下操作:
for sheet in sheets_dict:
df = pd.read_excel(masterfile_path, sheet_name = sheet)
您多次从零打开Excel文件。我想这就是导致您的代码运行缓慢的原因。
您可以使用以下方法在一个excel文件中阅读所有表格:
pd.read_excel(file, sheet_name=None)
这将返回一个字典,其中的键是工作表名称,值是数据帧。