Bemind
Учебник Python
Учебник Python
  • Python
    • Python Lists
      • Списковые включения в Python (Полное руководство с примерами)
      • Исправление ValueError: Слишком Много Значений Для Распаковки в Python
      • Как добавить словарь в список в Python
      • Как добавить строку в список в Python
      • Разница между массивами и списками в Python
      • Python: Различия между списками и кортежами
      • Как проверить, пуст ли список в Python
      • Как Итерировать (Циклически Проходить) По Списку в Python
      • Python List sort(): Подробное руководство по сортировке списков
      • Python List Extend: Как добавить несколько элементов в список
      • Python: Найти Индекс Всех Вхождений Элемента в Списке
      • Конвертация списка словарей в Pandas DataFrame
      • Генерация случайных чисел в Python
      • Поиск Индекса в Списке Python: Найти Первое, Последнее или Все Вхождения
      • Добавить в начало списка в Python (Вставить в начало)
      • Найти дубликаты в списке Python
      • Python: Умножение Списков (6 Различных Способов)
      • Python списки: Полный обзор
      • Python: Выбор случайного элемента из списка
      • 4 Способа Очистить Список в Python
      • Объяснение ошибки IndexError в Python: индекс списка выходит за пределы допустимого диапазона
      • Python: Получение индекса максимального элемента в списке
      • Python: Объединение списков – Слияние списков (8 способов)
      • Python: Проверка наличия элемента в списке
      • Python: Проверка наличия элемента в списке
      • Удаление элемента из списка в Python (pop, remove, del, clear)
      • Как перевернуть список в Python (6 способов)
      • Python: Замена элемента в списке (6 различных способов)
      • Python: Удаление дубликатов из списка (7 способов)
      • Python: Преобразование словаря в список кортежей (4 простых способа)
      • Python: Перемешать Список (Случайное Распределение Элементов Списка в Python)
      • Python: Пересечение двух списков
      • Python: Вычитание двух списков (4 простых способа!)
      • Длина или Размер Списка в Python: 5 Способов Узнать Длину Списка
      • Python: Транспонирование списка списков (5 простых способов!)
      • Python: Разделение списка (Пополам, на части)
      • Python: Комбинации списка (Получить все комбинации списка)
      • Python: Выравнивание списка списков (4 способа)
      • Разница между списками в Python: Нахождение разницы между двумя списками Python
      • Python: Найти среднее значение списка или списка списков
      • Как добавлять элементы в списки в Python – 4 простых способа!
      • Списковые включения в Python (Полное руководство с примерами)
      • 6 способов преобразовать список Python в строку
    • Python Dictionaries
      • Понимание словаря Python (с примерами)
      • Исправляем ValueError: Слишком Много Значений Для Распаковки в Python
      • Как добавить словарь в список в Python
      • Преобразование JSON в словарь Python
      • Полное руководство по вложенным словарям в Python
      • Копирование словаря в Python: Полное руководство
      • Конвертация списка словарей в Pandas DataFrame
      • Поиск дубликатов в списке Python
      • Полный обзор словарей в Python
      • Python: Добавление пары Ключ:Значение в Словарь
      • Python: Сортировка словаря по значениям
      • Слияние Словарей в Python – Комбинирование Словарей (7 Способов)
      • Python: Удаление Дубликатов из Списка (7 Способов)
      • Python: Преобразование словаря в список кортежей (4 простых способа)
      • Python: Красивая Печать Словаря (Dictionary) – 4 Способа
      • Python: Проверка пуст ли словарь (5 способов!)
      • Copy of Python: Проверка пуст ли словарь (5 способов!)
      • Python: Проверьте, существует ли ключ (или значение) в словаре (5 простых способов)
      • Python: Проверьте, существует ли ключ (или значение) в словаре (5 простых способов)
      • Python: Получение Ключа Словаря с Максимальным Значением (4 Способа)
      • Python: Удаление ключа из словаря (4 разных способа)
      • Как красиво вывести JSON-файл в Python (6 методов)
    • Python Strings
      • Python Капитализация Строк: Руководство по Преобразованию слов в Заглавные
      • Python strip: Как обрезать строку в Python
      • Python Обратная Строка: Руководство по Реверсированию Строк
      • Как Удалить Префикс или Суффикс из Строки в Python
      • Преобразование строки в формат заголовка в Python с помощью str.title()
      • Как добавить строку в список в Python
      • Python String startswith: Проверка, начинается ли строка с подстроки
      • Python String endswith: Проверка того, заканчивается ли строка подстрокой
      • Как удалить первый или последний символ из строки в Python
      • Как исправить: SyntaxError в Python - EOL при сканировании строкового литерала
      • Python String Contains: Проверка Наличия Подстроки в Строке
      • Как проверить, пустая ли строка в Python
      • Python Новая Строка и Как Печатать Без Переноса Строки
      • Как Конкатенировать Строки в Python: Полное Руководство
      • Python: Подсчет слов в строке или файле
      • Как создать список алфавита в Python
      • Python: Конкатенация строки и целого числа (Int)
      • Python: Сортировка строки (4 различных способа)
      • Python zfill и rjust: Добавление нулей в строку в Python
      • Python: Целое в Двоичное (Преобразование целого числа в двоичную строку)
      • Python rfind: Нахождение индекса последней подстроки в строке
      • Python SHA256 хеширование алгоритм: объяснение
      • Python: Усечение числа с плавающей точкой (6 различных способов)
      • Выбор между методами Python isdigit(), isnumeric() и isdecimal()
      • Python: Удаление специальных символов из строки
      • Python Приведение Строки к Нижнему Регистру с помощью .lower(), .casefold(), и .islower()
      • Python программа для проверки, является ли строка палиндромом (6 методов)
      • Python: Найдите все перестановки строки (3 легких способа!)
      • Python: Удаление пунктуации из строки (3 разных способа!)
      • Python: Найти индекс (или все индексы) подстроки в строке
      • Python: Удаление символов новой строки из строки
      • Python: Удаление символа из строки (4 способа)
      • Python: Количество вхождений в строке (4 способа!)
    • Встроенные функции Python
      • abs()
      • ascii()
      • aiter()
      • all()
      • any()
      • anext()
      • bin()
      • bool()
      • breakpoint()
      • bytearray()
      • bytes()
      • callable()
      • chr()
      • classmethod()
      • compile()
      • complex()
      • delattr()
      • dict()
      • dir()
      • divmod()
      • enumerate()
      • eval()
      • exec()
      • filter()
      • float()
      • format()
      • frozenset()
      • getattr()
      • globals()
      • hasattr()
      • hash()
      • help()
      • hex()
      • id()
      • input()
      • int()
      • issubclass()
      • iter()
      • len()
      • list()
      • locals()
      • map()
      • max()
      • memoryview()
      • min()
      • next()
      • object()
      • oct()
      • open()
      • ord()
      • pow()
      • print()
      • property()
      • range()
      • repr()
      • reversed()
      • round()
      • set()
      • setattr()
      • isinstance()
      • slice()
      • zip()
      • type()
      • sorted()
      • staticmethod()
      • str()
      • sum()
      • super()
      • tuple()
      • vars()
      • import()
    • Cобеседования Python. Разбор реальных вопросов.
    • Встроенные методы в Python
  • Учебники по Pandas и Numpy
    • Numpy
      • Функция активации ReLU для глубокого обучения: полное руководство по выпрямленному линейному блоку
      • Как нормализовать массивы NumPy (минимальное-максимальное масштабирование, Z-оценка, L2)
      • NumPy where: Условная обработка элементов массива
      • NumPy linspace: создание равномерно расположенных массивов с помощью np.linspace
      • Как рассчитать векторное произведение в Python
      • Разделение NumPy: Разделение массива NumPy на части
      • NumPy: Лучшие способы применения функции к массиву
      • NumPy full: Создание массивов с заданным значением
      • NumPy clip(): Ограничьте значения массива минимальным и максимальным значениями
      • NumPy cumsum: Расчет кумулятивных сумм массивов NumPy
      • Изучаем функцию np.histogram в NumPy: создаем гистограмму
      • NumPy arange(): Полное руководство (с примерами)
      • Руководство по индексации и срезам массивов NumPy: Полное руководство
      • NumPy argmin(): Получение индекса минимального значения в массивах
      • Выравнивание массива с помощью NumPy flatten
      • Объединение массивов NumPy по различным осям с использованием функции stack
      • Удаление размерности из массивов NumPy с помощью NumPy Squeeze
      • Функция np.repeat() NumPy: Повторение массивов NumPy
      • Использование функции NumPy.exp() для вычисления экспоненты
      • Реализация функции сигмоида на Python
      • NumPy Pad: Использование np.pad() для дополнения массивов и матриц
      • np.argmax(): Как использовать NumPy Argmax
      • NumPy logspace: Понимание функции np.logspace()
      • Использование NumPy Tile для Расположения Массивов
      • NumPy Zeros: Создание массивов и матриц с нулями в NumPy
      • Использование числа Пи в Python (NumPy и Math)
      • Распределение Нормального (Гауссова) Распределения в Numpy (Случайное Нормальное в Numpy)
      • NumPy для Data Science на Python
      • Расчет скалярного произведения с использованием Numpy в Python
      • Расчет натурального логарифма на Python
    • Pandas
      • Python сводные таблицы – Полное руководство
      • Изучение API стиля Pandas
      • Объяснение группировки по нескольким столбцам в Pandas с примерами
      • Удаление индексной колонки DataFrame в Pandas: Руководство с примерами
      • Pandas Quantile: Расчет процентилей в DataFrame
      • Как рассчитать скользящее среднее (среднее арифметическое) в Pandas
      • Руководство по использованию метода fillna в Pandas для работы с отсутствующими данными в DataFrame
      • Pandas unique(): Получение уникальных значений в DataFrame
      • Распакуйте Ваши Данные с Помощью Функции Melt в Pandas
      • Pandas date_range: Как Создать Диапазон Дат в Pandas
      • Сброс индекса в Pandas: как сбросить индекс в Pandas
      • Pandas replace() – Замена значений в DataFrame Pandas
      • Перемещение столбца DataFrame Pandas на позицию (В начало и в конец)
      • Учебное пособие по Python Pandas: полное руководство
      • Pandas: Замена NaN на нули
      • Преобразование DataFrame Pandas в файл Pickle
      • Конвертация Pandas DataFrame в JSON
      • Преобразование DataFrame Pandas в Словарь
      • Преобразование Pandas DataFrame в Список
      • Чтение файлов Parquet в Pandas с помощью pd.read_parquet
      • Pandas dropna(): Удаление отсутствующих записей и столбцов в DataFrame
      • Как Добавить Новый Столбец в DataFrame Pandas
      • Подсчёт уникальных значений в Pandas
      • Отображение всех столбцов и строк в DataFrame Pandas
      • Pandas to_excel: Запись DataFrames в файлы Excel
      • Как использовать Pandas для чтения файлов Excel в Python
      • Преобразование списка словарей в Pandas DataFrame
      • Как добавить/вставить строку в DataFrame Pandas
      • Диаграмма рассеяния в Pandas: Как создать диаграмму рассеяния в Pandas
      • Pandas to_datetime: Преобразование строки Pandas в дату и время
      • Введение в Pandas для Data Science
      • Индексация, Выборка и Присваивание Данных в Pandas
      • Суммирование и Анализ Pandas DataFrame
      • Преобразование столбцов Pandas с помощью map и apply
      • Группировка данных в Pandas с использованием cut и qcut
      • Дата и время в Pandas и Python
      • Очистка и подготовка данных в Pandas и Python
      • Pandas GroupBy: группировка, суммирование и агрегация данных в Python
      • Pandas Дата и Время в Части Даты (месяц, год и т.д.)
      • Pandas: Получение номера строки из DataFrame
      • Вычисление Взвешенного Среднего в Pandas и Python
      • Как перемешать строки Pandas Dataframe в Python
      • Pandas: количество столбцов (подсчет столбцов в DataFrame)
      • Pandas Sum: сложение столбцов и строк DataFrame
      • Pandas Diff: Вычисление Разницы Между Строками Pandas
      • Нормализация столбца или датафрейма Pandas (с использованием Pandas или sklearn)
      • Функция Rank в Pandas: Ранжирование данных в Dataframe (Эквивалент SQL row_number)
      • Pandas Describe: Описательная статистика вашего Dataframe
      • Pandas Shift: Перемещение столбца DataFrame вверх или вниз
      • 7 Способов Выполнения Выборки Данных в Pandas
      • Экспорт DataFrame Pandas в CSV файл – Использование .to_csv()
      • Pandas: Итерация по строкам DataFrame в Pandas
      • Pandas: Преобразование значений столбца в строки
      • Дисперсия в Pandas: Вычисление дисперсии столбца в Pandas Dataframe
      • Pandas: Создание DataFrame из списков (5 способов!)
      • Pandas Rename Index: Как переименовать индекс DataFrame в Pandas
      • Pandas: Подсчёт уникальных значений в объекте GroupBy
      • Pandas: Добавить дни к колонке с датами
      • Среднее в Pandas: Как рассчитать среднее для одной или нескольких колонок
      • Pandas Column to List – Конвертируйте колонку Pandas в список
      • Транспонирование Dataframe в Pandas
      • Python: Разделение DataFrame Pandas
      • Как получить имена столбцов в DataFrame Pandas
  • Учебники Matplotlib и Seaborn
    • Seaborn
      • Регрессионные графики в Seaborn с использованием regplot и lmplot
      • Seaborn residplot – Построение остатков линейной регрессии
      • Seaborn jointplot() – Создание совместных графиков в Seaborn
      • Seaborn displot – Распределенческие графики в Python
      • Seaborn ecdfplot – Эмпирические функции накопленного распределения
      • Seaborn rugplot – Визуализация маргинальных распределений
      • Seaborn kdeplot – Создание графиков оценки плотности ядра
      • Seaborn histplot – Создание Гистограмм в Seaborn
      • Seaborn catplot – Визуализация категориальных данных в Python
      • Средняя тенденция для категориальных данных в Seaborn Pointplot
      • Seaborn stripplot: Jitter Plots для распределений категориальных данных
      • Seaborn Countplot – Подсчет категориальных данных в Python
      • Seaborn swarmplot: Bee Swarm Plots для распределения категориальных данных
      • Скрипичные графики Seaborn в Python: Полное руководство
      • Настройка расположения легенд Seaborn, меток, текста и т.д.
      • Тепловая карта Seaborn: Полное руководство
      • Создание многосекционных сеток в Seaborn с помощью FacetGrid
      • Удаление рамки в Seaborn: Как работать с рамкой
      • Заголовки и метки осей в Seaborn: добавление и настройка
      • Как установить Seaborn в Python (Исправление: no module named seaborn)
      • Seaborn relplot – Создание точечных и линейных графиков
    • Matplotlib
      • Режим Retina в Matplotlib: Улучшение Качества Графиков
      • Как построить функцию в Python с использованием Matplotlib
      • Как создать 3D-диаграммы рассеяния в Matplotlib
      • Как изменить размер шрифта в графике Matplotlib
      • Установка размера маркера в точечных диаграммах Matplotlib
      • Как изменить размер графика и фигуры в Matplotlib
      • Как добавить названия в Matplotlib: Заголовок, Подзаголовок, Названия Осей
      • Pandas Scatter Plot: Как создать диаграмму рассеяния в Pandas
      • Построение графиков в Python с помощью Matplotlib
      • Диаграммы рассеяния Matplotlib – Все, что вам нужно знать
      • Диаграммы с столбцами в Matplotlib – Узнайте все, что вам нужно знать
      • Линейные диаграммы Matplotlib – Всё, что вам нужно знать
      • Построение гистограммы в Python с Matplotlib и Pandas
  • Алгоритмы
    • Алгоритм поиска в ширину (BFS) в Python
    • Алгоритм поиска в глубину (DFS) на Python
  • AI создает хедж-фонд для анализа акций на Python
Powered by GitBook
On this page
  • Быстрый ответ: используйте Pandas read_excel для чтения файлов Excel
  • Понимание функции read_excel в Pandas
  • Как читать файлы Excel в Pandas read_excel
  • Как указать имена листов Excel в функции Pandas read
  • Как задать названия столбцов в Pandas read_excel
  • Как задать типы данных в Pandas read_excel
  • Как пропустить строки при чтении Excel файлов в Pandas
  • Как читать несколько листов в файле Excel с помощью Pandas
  • Как прочитать только n строк при чтении файлов Excel в Pandas
  • Заключение
  • Дополнительные ресурсы
  1. Учебники по Pandas и Numpy
  2. Pandas

Как использовать Pandas для чтения файлов Excel в Python

PreviousPandas to_excel: Запись DataFrames в файлы ExcelNextПреобразование списка словарей в Pandas DataFrame

Last updated 11 months ago

В этом учебнике вы научитесь использовать Python и Pandas для чтения файлов Excel с помощью функции Pandas read_excel. Файлы Excel повсюду – и хоть они и не являются идеальным типом данных для многих исследователей данных, умение работать с ними – это необходимый навык.

К концу этого урока вы узнаете:

  • Как использовать функцию Pandas read_excel для чтения файла Excel

  • Как прочитать, укажите имя листа Excel для чтения в Pandas

  • Как прочитать несколько листов или файлов Excel

  • Как использовать определенные столбцы из файла Excel в Pandas

  • Как пропускать строки при чтении файлов Excel в Pandas

  • И более

Оглавление

Быстрый ответ: используйте Pandas read_excel для чтения файлов Excel

Для чтения файлов Excel в Pandas Python используйте функцию read_excel(). Вы можете указать путь к файлу и имя листа для чтения, как показано ниже:

# Reading an Excel File in Pandas
import pandas as pd

df = pd.read_excel('/Users/datagy/Desktop/Sales.xlsx')

# With a Sheet Name
df = pd.read_excel(
   io='/Users/datagy/Desktop/Sales.xlsx'
   sheet_name ='North'
)

В следующих разделах этого руководства вы узнаете больше о функции Pandas read_excel(), чтобы лучше понять, как настраивать чтение файлов Excel.

Понимание функции read_excel в Pandas

Функция read_excel() библиотеки Pandas имеет множество различных параметров. В этом руководстве вы узнаете, как использовать основные параметры, которые обеспечивают невероятную гибкость при чтении файлов Excel в Pandas.

Параметр
Описание
Доступный вариант

io=

Путь к книге.

URL к файлу, путь к файлу и т.д.

sheet_name=

Имя листа для чтения. По умолчанию будет использоваться первый лист в книге (позиция 0).

Может считывать строки (название листа), целые числа (позиция) или списки (несколько листов)

usecols=

Столбцы для чтения, если не все столбцы должны быть прочитаны

Может быть строками столбцов, столбцами в стиле Excel («A:C») или целыми числами, представляющими позиции столбцов.

dtype=

Типы данных для использования для каждого столбца

Словарь с колонками в качестве ключей и типами данных в качестве значений.

skiprows=

Количество строк для пропуска сверху

Целое число, представляющее количество строк для пропуска

nrows=

Количество строк для анализа

Введите целое число, представляющее количество строк для чтения.

Как читать файлы Excel в Pandas read_excel

Как показано выше, самый простой способ прочитать файл Excel с помощью Pandas — просто передать путь к файлу Excel. Параметр io= является первым параметром, поэтому вы можете просто передать строку с путем к файлу.

# Reading an Excel file in Pandas
import pandas as pd

df = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/Sales.xlsx')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969

Если вы скачали файл и посмотрели его, вы заметите, что в файле есть три листа. Как же Pandas узнает, какой лист загрузить? По умолчанию, Pandas использует первый лист (по позиции), если не указано иное.

В следующем разделе вы узнаете, как указать, какой лист вы хотите загрузить в DataFrame.

Как указать имена листов Excel в функции Pandas read

Как показано в предыдущем разделе, вы узнали, что когда лист не указан, Pandas загружает первый лист в Excel книге. В предоставленной книге есть три листа в следующей структуре:

Sales.xlsx
|---East
|---West
|---North

Из-за этого мы знаем, что данные с листа “East” были загружены. Если мы хотим загрузить данные с листа “West”, мы можем использовать параметр sheet_name=, чтобы указать, какой лист мы хотим загрузить.

Параметр принимает как строку, так и целое число. Если передать строку, можно указать имя листа, который хотим загрузить.

Давайте рассмотрим, как можно указать имя листа для 'West':

# Specifying an Excel Sheet to Load by Name
import pandas as pd

df = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    sheet_name='West')
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    504
# 1 2022-04-02        B    361
# 2 2022-04-03        A    694
# 3 2022-04-04        B    702
# 4 2022-04-05        A    255

Подобным образом можно загрузить лист по его позиции. По умолчанию Pandas использует позицию 0, что загружает первый лист. Допустим, мы хотим повторить наш предыдущий пример и загрузить данные из листа под названием 'West', необходимо знать где находится этот лист.

Поскольку мы знаем, что лист второй, мы можем передать индекс 1:

# Specifying an Excel Sheet to Load by Position
import pandas as pd

df = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    sheet_name=1)
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    504
# 1 2022-04-02        B    361
# 2 2022-04-03        A    694
# 3 2022-04-04        B    702
# 4 2022-04-05        A    255

Мы видим, что оба этих метода вернули данные одного и того же листа. В следующем разделе вы узнаете, как указать, какие столбцы загружать при использовании функции read_excel в Pandas.

Как задать названия столбцов в Pandas read_excel

Может быть много случаев, когда вы не хотите загружать все столбцы в файле Excel. Это может быть связано с тем, что файл имеет слишком много столбцов или разные столбцы для разных листов.

Чтобы сделать это, мы можем использовать параметр usecols=. Это очень гибкий параметр, который позволяет вам указать:

  • Список названий столбцов

  • Строка с диапазонами колонок Excel

  • Список целых чисел, указывающих индексы столбцов для загрузки

Наиболее часто вы встретите людей, использующих список названий столбцов для чтения. Каждый из этих столбцов - это строка, разделенная запятыми, содержащаяся в списке.

Давайте загрузим наш DataFrame из приведенного выше примера, на этот раз загрузив только столбцы 'Customer' и 'Sales'

# Specifying Columns to Load by Name
import pandas as pd

df = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    usecols=['Customer', 'Sales'])
print(df.head())

# Returns:
#   Customer  Sales
# 0        A    191
# 1        B    727
# 2        A    782
# 3        B    561
# 4        A    969

Мы видим, что передав список строк, представляющих столбцы, мы смогли проанализировать только эти столбцы.

Если мы хотим использовать изменения в Excel, мы также можем указать столбцы 'B:C'. Давайте посмотрим, как это выглядит ниже:

# Specifying Columns to Load by Excel Range
import pandas as pd

df = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    usecols='B:C')
print(df.head())

# Returns:
#   Customer  Sales
# 0        A    191
# 1        B    727
# 2        A    782
# 3        B    561
# 4        A    969

Наконец, мы также можем передать список целых чисел, которые представляют позиции колонок, которые мы хотим загрузить. Поскольку колонки являются второй и третьей, мы загрузим список целых чисел, как показано ниже:

# Specifying Columns to Load by Their Position
import pandas as pd

df = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    usecols=[1,2])
print(df.head())

# Returns:
#   Customer  Sales
# 0        A    191
# 1        B    727
# 2        A    782
# 3        B    561
# 4        A    969

В следующем разделе вы узнаете, как указать типы данных при чтении файлов Excel.

Как задать типы данных в Pandas read_excel

Pandas упрощает указание типа данных различных столбцов при чтении файла Excel. Это служит трем основным целям:

  1. Предотвращение неправильного чтения данных

  2. Ускорение операции чтения

  3. Экономия памяти

Вы можете передать словарь, где ключи — это столбцы, а значения — типы данных. Это гарантирует правильное чтение данных. Давайте посмотрим, как можно задать типы данных для наших столбцов.

# Specifying Data Types for Columns When Reading Excel Files
import pandas as pd

df = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    dtype={'date':'datetime64', 'Customer': 'object', 'Sales':'int'})
print(df.head())

# Returns:
#   Customer  Sales
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969

Важно отметить, что для этого не нужно передавать все столбцы. В следующем разделе вы узнаете, как пропускать строки при чтении файлов Excel.

Как пропустить строки при чтении Excel файлов в Pandas

В некоторых случаях вы столкнетесь с файлами, где в вашем файле Excel есть отформатированные строки с заголовками, как показано ниже:

Если бы мы прочитали лист 'North', то получили бы следующий результат:

# Reading a poorly formatted Excel file
import pandas as pd

df = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    sheet_name='North')
print(df.head())

# Returns:
#            North Sales Unnamed: 1 Unnamed: 2
# 0     Totals Available        NaN        NaN
# 1                 Date   Customer      Sales
# 2  2022-04-01 00:00:00          A        164
# 3  2022-04-02 00:00:00          B        612
# 4  2022-04-03 00:00:00          A        260

Pandas упрощает пропуск определенного количества строк при чтении Excel файла. Это можно сделать с помощью параметра skiprows=. Мы видим, что нужно пропустить две строки, поэтому мы можем просто передать значение 2, как показано ниже:

# Reading a Poorly Formatted File Correctly
import pandas as pd

df = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    sheet_name='North',
    skiprows=2)
print(df.head())

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    164
# 1 2022-04-02        B    612
# 2 2022-04-03        A    260
# 3 2022-04-04        B    314
# 4 2022-04-05        A    215

Этот метод считывает файл намного точнее! Он может быть спасением при работе с плохо форматированными файлами. В следующем разделе вы узнаете, как считывать несколько листов в Excel файле с помощью Pandas.

Как читать несколько листов в файле Excel с помощью Pandas

Pandas делает очень простым чтение нескольких листов одновременно. Это можно сделать с использованием параметра sheet_name=. В наших предыдущих примерах мы передавали только одну строку для чтения одного листа. Однако, вы также можете передать список листов для чтения нескольких листов сразу.

Давайте посмотрим, как мы можем прочитать наши первые два листа:

# Reading Multiple Excel Sheets at Once in Pandas
import pandas as pd

dfs = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    sheet_name=['East', 'West'])

print(type(dfs))

# Returns: <class 'dict'>

Каждый лист является ключом словаря, при этом DataFrame является значением соответствующего ключа. Давайте посмотрим, как мы можем получить доступ к DataFrame 'West'

# Reading Multiple Excel Sheets in Pandas
import pandas as pd

dfs = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    sheet_name=['East', 'West'])

print(dfs.get('West').head())

# Returns: 
#         Date Customer  Sales
# 0 2022-04-01        A    504
# 1 2022-04-02        B    361
# 2 2022-04-03        A    694
# 3 2022-04-04        B    702
# 4 2022-04-05        A    255

Вы также можете прочитать все листы сразу, указав sheet_name= со значением None. Аналогично, это возвращает словарь всех листов:

# Reading Multiple Excel Sheets in Pandas
import pandas as pd

dfs = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    sheet_name=None)

В следующем разделе вы узнаете, как читать несколько файлов Excel в Pandas.

Как прочитать только n строк при чтении файлов Excel в Pandas

При работе с очень большими файлами Excel может быть полезно сначала выбрать небольшой подмножество данных. Это позволяет быстро загрузить файл и лучше изучить разные столбцы и типы данных.

Это можно сделать с помощью параметра nrows=, который принимает целочисленное значение количества строк, которые вы хотите загрузить в DataFrame. Давайте посмотрим, как мы можем прочитать первые пять строк Excel

# Reading n Number of Rows of an Excel Sheet
import pandas as pd

df = pd.read_excel(
    io='https://github.com/datagy/mediumdata/raw/master/Sales.xlsx',
    nrows=5)
print(df)

# Returns:
#         Date Customer  Sales
# 0 2022-04-01        A    191
# 1 2022-04-02        B    727
# 2 2022-04-03        A    782
# 3 2022-04-04        B    561
# 4 2022-04-05        A    969

Заключение

В этом уроке вы узнали, как использовать Python и Pandas для чтения файлов Excel в DataFrame с помощью функции .read_excel(). Вы узнали, как использовать эту функцию для чтения Excel-файла, указания имен листов, чтения только определенных столбцов и указания типов данных. Далее вы узнали, как пропускать строки, читать только заданное количество строк и читать несколько листов.

Дополнительные ресурсы

Чтобы узнать больше о смежных темах, ознакомьтесь с руководствами ниже:

  • Таблица данных Pandas в файл CSV – экспорт с использованием .to_csv()

  • Объедините данные в Pandas с помощью слияния, объединения и объединения

  • Введение в Pandas для науки о данных

  • Подведение итогов и анализ таблиц данных Pandas

В таблице выше перечислены некоторые ключевые параметры функции Pandas .read_excel(). Полный список можно найти в . В следующих разделах вы узнаете, как использовать вышеуказанные параметры для чтения файлов Excel различными способами с помощью Python и Pandas.

Параметр принимает как путь к файлу, так и HTTP путь, FTP путь и другие. Давайте посмотрим, что произойдет, если мы прочитаем файл Excel, размещенный .

Excel с необычным форматированием

В приведенном выше примере мы передали список листов для чтения. Когда мы типа возвращенного значения, мы увидели, что был возвращен словарь.

официальной документации
на моей странице Github
использовали функцию type() для проверки
Быстрый ответ: используйте Pandas read_excel для чтения файлов Excel
Понимание функции read_excel в Pandas
Как читать файлы Excel в Pandas read_excel
Как указать имена листов Excel в Pandas read_excel
Как указать имена столбцов в Pandas read_excel
Как указать типы данных в Pandas read_excel
Как пропустить строки при чтении файлов Excel в Pandas
Как прочитать несколько листов в файле Excel в Pandas
Как читать только n строк при чтении файлов Excel в Pandas
Заключение
Дополнительные ресурсы
A poorly formatted Excel File