Файлы к уроку:
Ссылки:
Описание
У нас есть несколько однообразных книг Excel. В каждой книге Excel находится несколько листов с единой структурой. Нам нужно одновременно объединить все книги и все листы в них в одну таблицу.
Решим эту задачу с помощью модуля pandas.
Решение
Сначала импортируем нужные модули.
# Импорт модулей
import pandas as pd
import os
import glob
Укажем директорию, в которой находятся файлы.
# Сменим директорию
os.chdir('data')
Создадим список книг для объединения.
# Список файлов Excel для объединения
xl_files = glob.glob('*.xlsx')
Создадим датафрейм, в который запишем таблицы.
# Читаем каждую книгу объединяем все листы в один датафрейм
combined = pd.DataFrame()
Читаем каждый файл и объединяем все таблицы.
# Цикл по файлам
for xl_file in xl_files:
# Создать объект ExcelFile
xl_file_obj = pd.ExcelFile(xl_file)
# Цикл по листам
for sheet_name in xl_file_obj.sheet_names:
# Прочитать нужный лист книги
data = pd.read_excel(xl_file_obj,
sheet_name=sheet_name)
# Создадать столбец с названием книги
data['workbook'] = xl_file
# Создать столбец с названием листа
data['sheet'] = sheet_name
# Дописать в датафрейм combined
combined = combined.append(data)
Запишем результат в книгу Excel.
combined.to_excel('sales_combined.xlsx',
index=False)
Примененные функции
- os.getcwd
- os.chdir
- glob.glob
- pandas.ExcelFile
- pandas.DataFrame
- pandas.read_excel
- pandas.DataFrame.append
- pandas.DataFrame.to_excel
Курс Python Практический
Номер урока | Урок | Описание |
---|---|---|
1 | Python Практический. Скачиваем котировки | В этом уроке мы научимся скачивать котировки с помощью модуля pandas_datareader. |
2 | Python Практический. Объединить книги Excel | В этом уроке мы объединим много Excel файлов в один CSV файл с помощью Python |
3 | Python Практический. Объединить книги Excel | Дополним урок по объединению большого количества XLSX файлов в один CSV при помощи Python. Добавим Progress Bar и вывод времени начала обработки каждого файла. |
4 | Python Практический. Создать Progress Bar | В этом уроке мы научимся создавать Progress Bar в Python. Для этого воспользуемся модулем tqdm. |
5 | Python Практический. Объединить листы книги Excel | Объединим множество листов одной книги Excel по вертикали. |
6 | Python Практический. Объединить книги Excel и листы в них | Как объединить книги Excel и все листы в них в одну таблицу. |
7 | Python Практический. Объединить множество CSV | Объединим множество CSV файлов по вертикали в один CSV файл. |
8 | Python Практический. Таблицы из множества интернет-страниц | Извлечем таблицу из множества веб-страниц и объединим по вертикали. |
9 | Python Практический. Многостраничное извлечение таблиц с Requests и BS4 | В этом уроке мы с помощью Python модулей Requests и BS4 извлечем таблицу из множества web-страниц, потом все эти таблицы объединим по вертикали в одну и запишем результат в Excel файл. |
10 | Python Практический. Скрапинг/Парсинг сайтов с Selenium и BS4 | В этом уроке мы будем скрапить/парсить веб сайт с Python модулями Selenium и BF4. |
11 | Python Практический. Автоматизация браузера Python Selenium, Скрапинг, скачивание выписок ЕГРЮЛ | В этом уроке мы познакомимся с модулем Selenium для Python. Он позволяет автоматизировать работу браузера, например, открывать веб-страницы, заполнять формы, получать содержимое блоков и скачивать файлы. Мы изучим основы Selenium на примере получения данных ЕГРЮЛ по ИНН и автоматическому скачиванию выписок ЕГРЮЛ. |
12 | Python Практический. Множественная замена текста с Pandas | В этом уроке мы выполним множественную замена текста с помощью модуля Pandas |