Файлы к уроку:
Ссылки:
Описание
В этом уроке мы научимся импортировать таблицы из книг MS Excel. После импорта данных мы почистим таблицу и приведем ее к нормальному виду.
Решение
Импорт мы выполним с помощью команды модуля pandas. Далее мы создадим недостающие столбцы, удалим лишние столбцы и строки и назначим правильные типы данных. Полученный результат запишем в файл .xlsx.
Примененные функции
- pandas.read_excel
- numpy.where
- pandas.DataFrame.ffill
- pandas.notnull
- pandas.DataFrame.dtypes
- pandas.DataFrame.astype
- pandas.DataFrame.to_excel
Код
Импорт модулей.
import pandas as pd
import numpy as np
Читаем xlsx, пропускаем 5 первых строк, указываем какие столбцы нужно импортировать.
data = pd.read_excel('dataset.xlsx',
skiprows=5,
usecols='A:H')
Создадим столбцы Адрес и POSID. Нам нужно условно извлечь подстроку из столбца N опер.
data['Адрес'] = np.where(data['№ опер.'].str.startswith('POS'),
data['№ опер.'].str.split(',', n=1).str[1],
np.nan)
data['POSID'] = np.where(data['№ опер.'].str.startswith('POS'),
data['№ опер.'].str.split('(', n=1).str[1].str.split(')', n=1).str[0],
np.nan)
Заполняем значения null вниз.
data['Адрес'] = data['Адрес'].ffill()
data['POSID'] = data['POSID'].ffill()
Отфильтруем значения null по столбцу Дата опер.
data = data[data['Дата опер.'].notnull()]
Назначить типы данных для столбцов № опер, POSID.
data = data.astype({'№ опер.': int,
'POSID': int})
Записать полученную готовую таблицу в .xlsx.
data.to_excel('transactions.xlsx',
sheet_name='Transactions',
index=False)
Курс Импорт данных в Python
Номер урока | Урок | Описание |
---|---|---|
1 | Python Импорт данных №1. Импорт Excel | Научимся импортировать данные из книг MS Excel в формате xlsx. |
2 | Python Импорт данных №2. Импорт CSV | Научимся импортировать данные из текстовых файлов CSV. |
3 | Python Импорт данных №3. Импорт с веб-сайта (HTML) | Импортируем таблицу с веб-страницы и запишем результат в CSV файл. |
4 | Python Импорт данных №4. Импорт таблиц XML | Научимся импортировать таблицы XML на примере данных с сайта Банка России. |
5 | Python Импорт данных №5. Импорт таблиц из PDF | Научимся импортировать нужные таблицы из PDF файлов, объединять их по вертикали в одну большую таблицу и записывать результат в CSV файл. |
6 | Python Импорт данных №6. Импорт таблиц из Word | Научимся импортировать таблицы из документов MS Word в формате docx. |
7 | Python Импорт данных №7. Импорт таблиц из Word | В этом уроке мы извлечем таблицу из документа Word и запишем ее в файл CSV. Для этого нам понадобится модули python-docx и pandas. |