你好,我刚刚开始学习Python/编程,有以下问题。
我想用python刷新几个excel文件。但是,所有这些excel文件的文件路径完全不同,所以它们并不都存储在一个文件夹中。
使用
pypiwin32
写一个刷新一个excel文件的代码是没有问题的。要刷新几个不同文件路径的excel文件,目前我是这样解决的。
import win32com.client as win32
Xlsx = win32.DispatchEx('Excel.Application')
Xlsx.DisplayAlerts = False
Xlsx.Visible = False
book1 = Xlsx.Workbooks.Open('<path_to_excel_workbook1>')
book2 = Xlsx.Workbooks.Open('<path_to_excel_workbook2>')
book1.RefreshAll()
book2.RefreshAll()
Xlsx.CalculateUntilAsyncQueriesDone()
book1.Save()
book2.Save()
book1.Close(SaveChanges=True)
book2.Close(SaveChanges=True)
Xlsx.Quit()
del book1
del book2
del Xlsx
然而,当有50个或更多的Excel文件需要更新时,整个代码会变得不必要的冗长。
有没有一种方法可以遍历所有的Excel文件,而不用为每个Excel文件写一行代码来执行RefreshAll()
、Save()
和Close()
?
也许通过使用一个循环或类似的解决方案?