import xlwings as xw
def func(file):
app = xw.App(visible=False, add_book=False)
wbk = app.books.open(file)
#读写excel
wbk.save()
app.kill()
files = ['a.xlsx','b.xlsx'] #这里有若干文件,我的大概20个
for file in files:
func(file)
1.试下在save和kill之间加上延时
2.将kill 换成 quit()试试
import xlwings as xw
def func(app, file):
wbk = app.books.open(file)
# 读写excel
wbk.save()
files = ['a.xlsx', 'b.xlsx'] # 这里有若干文件,我的大概20个
app = xw.App(visible=False, add_book=False)
for file in files:
func(app, file)
app.kill()
基于com的需要逐个打开关闭文件,很慢,推荐用openpyxl读取,用xlsxwriter写入。我亲测过,8876个文件,平均每个文件1M左右,同一台电脑,效率差91倍!!