不知道在这里循环播放什么



我在网上找到了这段代码。它用于从目录中的每个excel wb中提取一张表。我还在学习Python,所以我不知道我到底应该问什么。

错误显示";片材";未定义。很公平,但这是我找到的代码,它说它有效。我真的不知道该在这里定义什么。

import os
import win32com.client

path = "C:/Folder"  #This folder contains the spreadsheets
pathmaster = "C:/Desktop/MyFile.xlsx"

xl = win32com.client.DispatchEx('Excel.Application')
xl.Visible = False

wbmaster = xl.Workbooks.Open(Filename=pathmaster)

os.listdir(path)

for sheet in sheets:
print(sheet)
wb1 = xl.Workbooks.Open(Filename=os.path.join(path, sheet))

ws1 = wb1.Worksheets(4)
ws1.Name = sheet[:4]

ws1.Copy(Before=wbmaster.Worksheets(1))
wb1.Close(True)

wbmaster.Close(SaveChanges=True)

正如您所说,"sheets"是未定义的。要解决这个问题,你需要在你对它的调用for sheet in sheets:上面声明它

将您的代码更改为…

wbmaster = xl.Workbooks.Open(Filename=pathmaster)
for sheet in wbmaster.Sheets:
# Do code here

查看这些其他过去的答案

  1. 如何在win32com中迭代工作表
  2. Python:使用Win32 COM Api打开Excel工作簿

在for循环中使用之前,必须定义什么是工作表也许您必须使用:用于wbmaster中的纸张

最新更新