🔗 Как объединить два excel файла в один с помощью Python 🐍
Используйте библиотеку pandas, чтобы объединить два excel файла в один при помощи Python.
import pandas as pd
# Загрузка данных из двух файлов
df1 = pd.read_excel("file1.xlsx")
df2 = pd.read_excel("file2.xlsx")
# Объединение данных
df_merged = pd.concat([df1, df2])
# Сохранение объединенных данных в новый файл
df_merged.to_excel("merged_file.xlsx", index=False)
Детальный ответ
Как объединить два excel файла в один с помощью Python
Объединение двух excel файлов в один может быть полезной задачей во многих ситуациях. Независимо от того, нужно ли вам сравнить данные из двух файлов или просто объединить их для анализа, Python предлагает набор инструментов, с помощью которых это можно сделать. В этой статье мы рассмотрим несколько подходов к объединению excel файлов в один с использованием Python.
1. Использование библиотеки pandas
Библиотека pandas в Python предоставляет мощные средства для работы с данными. Она также предлагает удобные способы объединения excel файлов в один.
import pandas as pd
# Загрузка данных из первого excel файла
df1 = pd.read_excel('файл1.xlsx')
# Загрузка данных из второго excel файла
df2 = pd.read_excel('файл2.xlsx')
# Объединение двух dataframe'ов
combined_df = pd.concat([df1, df2])
# Сохранение объединенного dataframe в excel файл
combined_df.to_excel('объединенный_файл.xlsx', index=False)
Приведенный выше код использует функции `read_excel()` для загрузки данных из каждого excel файла в отдельные объекты `df1` и `df2`. Затем функция `concat()` объединяет два dataframe'а в один `combined_df`, а функция `to_excel()` сохраняет объединенный dataframe в новый excel файл с именем "объединенный_файл.xlsx".
2. Использование библиотеки openpyxl
Библиотека openpyxl предоставляет возможность манипулировать excel файлами непосредственно. Это означает, что вы можете открывать и редактировать существующие файлы, а также создавать новые.
from openpyxl import load_workbook
# Загрузка данных из первого excel файла
wb1 = load_workbook('файл1.xlsx')
sheet1 = wb1.active
# Загрузка данных из второго excel файла
wb2 = load_workbook('файл2.xlsx')
sheet2 = wb2.active
# Объединение двух файлов
for row in sheet2.iter_rows(min_row=2, max_row=sheet2.max_row, min_col=1):
values = [cell.value for cell in row]
sheet1.append(values)
# Сохранение объединенного файла
wb1.save('объединенный_файл.xlsx')
В приведенном выше коде мы используем функцию `load_workbook()` для загрузки данных из каждого excel файла в отдельные объекты `wb1` и `wb2`. Затем мы получаем ссылки на активные листы в каждом файле с помощью атрибута `active`. Далее мы итерируемся по строкам второго файла (начиная со второй строки) и добавляем значения в первый файл с помощью метода `append()`. Наконец, мы сохраняем объединенный файл с помощью метода `save()`.
3. Использование библиотеки xlrd и xlwt
Если вы работаете с более старыми версиями excel файлов (.xls), вы можете использовать библиотеки xlrd и xlwt для чтения и записи данных.
import xlrd
import xlwt
# Загрузка данных из первого excel файла
wb1 = xlrd.open_workbook('файл1.xls')
sheet1 = wb1.sheet_by_index(0)
# Загрузка данных из второго excel файла
wb2 = xlrd.open_workbook('файл2.xls')
sheet2 = wb2.sheet_by_index(0)
# Создание нового excel файла
wb3 = xlwt.Workbook()
sheet3 = wb3.add_sheet('Sheet1')
# Копирование данных из первого файла в новый файл
for row in range(sheet1.nrows):
for col in range(sheet1.ncols):
sheet3.write(row, col, sheet1.cell_value(row, col))
# Копирование данных из второго файла в новый файл
for row in range(1, sheet2.nrows): # Пропускаем заголовки второго файла
for col in range(sheet2.ncols):
sheet3.write(sheet1.nrows + row - 1, col, sheet2.cell_value(row, col))
# Сохранение нового файла
wb3.save('объединенный_файл.xls')
В этом случае мы используем функции `open_workbook()` из библиотеки xlrd для загрузки данных из каждого файла в отдельные объекты `wb1` и `wb2`. Затем мы получаем доступ к активным листам в каждом файле с помощью методов `sheet_by_index()` и `add_sheet()`. Затем мы копируем данные из первого файла в новый файл с помощью вложенных циклов. Затем мы копируем данные из второго файла, пропуская заголовки, и сохраняем новый файл с помощью метода `save()`.
Заключение
В этой статье мы рассмотрели несколько способов объединения двух excel файлов в один с использованием Python. Вы можете выбрать подход, который лучше всего подходит для ваших потребностей и типа файлов, с которыми вы работаете. Работа с данными в excel файле с использованием Python может быть мощным инструментом для анализа и обработки информации. Удачи в вашем программировании!