Чтение файлов Excel с помощью Pandas read_excel() в Python
        Функция read_excel() входит в состав библиотеки Pandas языка Python и предназначена для чтения данных из файлов Excel. Файлы Excel обычно используются для хранения табличных данных, а функция read_excel() обеспечивает удобный и гибкий способ импорта этих табличных данных для анализа и манипулирования ими в среде Python. В этом уроке мы разберемся, как можно прочитать файл Excel в Pandas DataFrame с помощью функции read_excel(). Давайте начнем.
Синтаксис функции Pandas read_excel()
Функция read_excel() поддерживает форматы .xls и .xlsx и предоставляет различные опции для настройки процесса чтения.
Синтаксис:
read_excel(io, 
sheet_name=0,  
header=0, 
names=None, 
index_col=None, 
usecols=None, 
squeeze=None, 
dtype=None, 
engine=None, 
converters=None, 
true_values=None, 
false_values=None, 
skiprows=None, 
nrows=None, 
na_values=None, 
keep_default_na=True, 
na_filter=True, 
verbose=False, 
parse_dates=False, 
date_parser=None, 
thousands=None, 
decimal='.', 
comment=None, 
skipfooter=0, 
convert_float=None, 
mangle_dupe_cols=True, 
storage_options=None)
Важные параметры:
sheet_name: Имя или индекс листа для чтения.header: Строка для использования в качестве имен столбцов.names: Список имен столбцов для использования.index_col: Столбец для установки в качестве индекса (целое число или имя столбца).usecols: Столбцы для парсинга (int, str, list-like или callable).skiprows: Количество строк, которые нужно пропустить в начале.
Использование файла Excel для создания таблицы данных
У нас есть фиктивный файл Excel под названием Students.xlsx, содержащий два листа, один из которых - студенческий, а другой - преподавательский, как показано ниже.
        
        Чтобы прочитать файл Excel, сначала нам нужно импортировать модуль Pandas под именем pd, чтобы мы могли использовать его функцию read_excel() для чтения.
import pandas as pd
pd.read_excel('Students.xlsx')
В приведенном выше коде мы передали имя нашего файла Excel Students.xlsx в качестве входных данных в функцию read_excel(), чтобы мы могли прочитать наш файл Excel.
Выходные данные:
        После выполнения кода мы видим, что функция read_excel() успешно прочитала файл Students.xlsx и определила, что первая строка - это строка заголовка. Но всё же есть один столбец, где мы не указали никакого имени заголовка, который считается как Unnamed:0, что является ничем иным, как именем студента.
Установка столбца в качестве индекса
Теперь предположим, что мы хотим сделать столбец Unnamed: 0 индексным столбцом, чтобы мы могли обращаться к отдельным строкам через имена, например, "John" или "Alice". Для этого мы можем просто добавить один аргумент index_col равный 0, чтобы нулевой столбец рассматривался как индексный, а нулевой столбец был Unnamed: 0.
pd.read_excel('Students.xlsx', index_col=0)
Выходные данные:
        На выходе мы видим разницу в том, что все имена стали индексными столбцами.
Определение нового заголовка
По умолчанию в качестве заголовка рассматривается самая первая строка или, можно сказать, нулевая, но если файл Excel не может рассматривать первую строку в качестве заголовка, то в этом случае можно просто добавить ещё один аргумент, например, что заголовок равен какой-то другой строке.
pd.read_excel('Students.xlsx', index_col=0, header=1)
В приведенном выше коде мы приняли заголовок за 1, что означает, что 1-я строка будет теперь заголовком в файле Excel, который по умолчанию был нулевой строкой.
Выходные данные:
        Чтение конкретных столбцов
Теперь предположим, что вместо чтения всех этих столбцов мы хотим прочитать только первые несколько столбцов. Скажем, только столбцы Name, City и Country. Для этого мы можем добавить еще один аргумент usecols.
pd.read_excel('Students.xlsx', index_col=0, usecols="A:C")
Мы добавили аргумент usecols в виде A:C в функцию read_excel(), которая будет читать только три столбца с начального.
Выходные данные:
        Изменение имен столбцов
Теперь предположим, что мы хотим дать индивидуальное имя каждому столбцу, для этого мы можем задать аргумент names. В нашем случае мы обращаемся только к первым трем столбцам, поэтому мы должны дать имена только первым трем столбцам. Если мы попытаемся назвать все пять столбцов, то будет выдана ошибка.
pd.read_excel('Students.xlsx', index_col=0, usecols="A:C", names=["Name","City","Country"])
Мы передали аргумент names в виде ["Name", "City", "Country"] в функцию read_excel(), которая присвоит собственные имена первым трем столбцам, поскольку мы считываем только три столбца с начала.
Выходные данные:
        Задание имени листа для извлечения данных
До сих пор мы имели дело только с первым листом, имя которого - student, но в файле Excel Students.xlsx есть и второй лист, имя которого - teacher. Поэтому, чтобы прочитать второй лист, нам нужно передать аргумент sheet_name равным 1, а по умолчанию значение sheet_name равно 0, что означает первый лист.
pd.read_excel('Students.xlsx', index_col=0, sheet_name=1)
Выходные данные:
        Переходящие ряды
Допустим, нам не нужны некоторые строки из нашего дата-фрейма. Для этого мы можем присвоить аргументу skiprows целое число или список целых чисел.
pd.read_excel('Students.xlsx', index_col=0, sheet_name='teacher', skiprows=[0,1])
Мы передали skiprows как [0,1], что означает, что первые две строки из массива данных будут пропущены.
Выходные данные:
        Заключение
В этой статье мы познакомились с функцией Pandas read_excel() в Python. Мы узнали, как читать файлы Excel в фреймах данных, включая такие приемы, как установка столбца в качестве индекса, пропуск строк, указание имен листов, изменение имен столбцов и выборочное чтение определенных столбцов. В нашем последующем посте вы познакомитесь с функцей to_excel(), предоставляемую библиотекой Python Pandas для экспорта фрейма данных в файл Excel. Мы надеемся, что после прочтения этой статьи вы сможете легко читать файлы Excel в Pandas DataFrame в Python.