线程模式Python代码将数据从多个工作簿复制到主工作表
我必须从6个工作簿复制数据并将其粘贴到主工作簿中。所有工作簿都位于我桌面上的一个文件夹中:C:\USERS\f6565\Desktop\Data
工作簿包含一个名为'Main Data'的工作表,我必须打开每个工作簿,转到工作表'Main Data',选择从第5行到第'x'行(行尾)的列范围A到GJ,然后将数据范围复制并粘贴到主工作表中。在主工作表(名为Main Data)中,我将数据粘贴到A列第5行的末尾,并在从更多工作簿复制数据时继续粘贴/追加数据。最后,主工作簿在一个工作表中的每个工作簿的A列第5行到GJ列中包含数据。
从第5行开始的列范围从A到GJ,在每个工作簿的所有工作表(主数据)中始终保持不变。每个工作簿包含几个工作表,但我只对工作表和主要数据感兴趣。我必须对这6个工作簿重复相同的步骤,并继续将数据粘贴/追加到主表中。所以,我想知道有没有人能帮我为这个创建一个python代码?
我用VB就能做到这一点,而且很管用。然而,我需要能够完全使用Python来做到这一点!以下是我的VB代码:
选择 | 换行 | 行号
- Sub CopyRange()
- Application.ScreenUpdating = False
- Dim wkbDest As Workbook
- Dim wkbSource As Workbook
- Set wkbDest = ThisWorkbook
- Dim LastRow As Long
- Const strPath As String = "C:\Users\f6565\Desktop\data\"
- ChDir strPath
- strExtension = Dir("*.xlsx*")
- Do While strExtension <> ""
- Set wkbSource = Workbooks.Open(strPath & strExtension)
- With wkbSource
- LastRow = .Sheets("Main Data").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
- .Sheets("Main Data").Range("A5:GJ" & LastRow).Copy wkbDest.Sheets("MAIN DATA").Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
- .Close savechanges:=False
- End With
- strExtension = Dir
- Loop
- Application.ScreenUpdating = True
- End Sub
我对蟒蛇不是很在行,非常感谢你的帮助!
如果您需要任何澄清,请让我知道。
非常感谢!