Как объединить файлы Excel в Python

При работе с несколькими файлами Excel, содержащими схожие структуры данных, их объединение позволяет проводить комплексный анализ данных и создавать отчеты. Объединение данных из различных источников позволяет получить целостную картину и обнаружить сведения, которые могут быть неочевидны при изучении каждого файла в отдельности. В этой статье вы узнаете, как объединить файлы Excel в один на Python с помощью библиотеки Spire.XLS for Python.
1.Слияние нескольких рабочих книг Excel в одну в Python
2.Слияние нескольких рабочих листов Excel в один в Python
Установите библиотеку
Это решение требует установки в качестве зависимости Spire.XLS for Python, которая представляет собой библиотеку Python для чтения, создания и работы с документами Excel XLS и XLSX в программах на Python. Вы можете установить ее, выполнив следующую команду pip.
pip install Spire.XLS
Слияние нескольких рабочих книг Excel в одну на Python
Spire.XLS для Python позволяет объединить несколько рабочих книг в одну, скопировав рабочие листы из объединяемых книг в новую рабочую книгу с помощью метода Workbook.Worksheets.AddCopy(). Подробные шаги приведены ниже.
from spire.xls import *
from spire.xls.common import *
# Put the file paths of the workbooks to be merged into a list
files = []
files.append("Input1.xlsx" )
files.append("Input2.xlsx")
files.append("Input3.xlsx")
# Create a new workbook
newbook = Workbook()
newbook.Version = ExcelVersion.Version2013
# Clear the default worksheets
newbook.Worksheets.Clear()
# Create a temporary workbook
tempbook = Workbook()
# Loop through the file paths in the list
for file in files:
# Load the workbook specified by the file path into the temporary workbook object
tempbook.LoadFromFile(file)
# Loop through the worksheets in the temporary workbook
for sheet in tempbook.Worksheets:
# Copy the worksheet from the temporary workbook to the new workbook
newbook.Worksheets.AddCopy(sheet, WorksheetCopyType.CopyAll)
# Save the new workbook to a .xlsx file
newbook.SaveToFile("MergeWorkbooks.xlsx", ExcelVersion.Version2016)
newbook.Dispose()
tempbook.Dispose()
Слияние нескольких рабочих листов Excel в один на языке Python
Чтобы объединить несколько рабочих листов Excel, вы можете скопировать диапазоны данных, используемые в этих листах, в один рабочий лист с помощью метода CellRange.Copy(destRange).
from spire.xls import *
from spire.xls.common import *
# Create a Workbook object
workbook = Workbook()
# Load an Excel workbook
workbook.LoadFromFile("File2.xlsx")
# Get the first worksheet
sheet1 = workbook.Worksheets[0]
# Get the second worksheet
sheet2 = workbook.Worksheets[1]
# Get the used range in the second worksheet
sourceRange = sheet2.AllocatedRange
# Specify the destination range in the first worksheet
destRange = sheet1.Range[sheet1.LastRow + 1, 1]
# Copy the used range from the second worksheet to the destination range in the first worksheet
sourceRange.Copy(destRange)
# Remove the second worksheet
sheet2.Remove()
# Save the resulting workbook to a .xlsx file
workbook.SaveToFile("MergeWorksheets.xlsx", ExcelVersion.Version2013)
workbook.Dispose()