DevGang
Авторизоваться

Чтение файлов 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.

Источник:

#Python #Pandas #Excel
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

В этом месте могла бы быть ваша реклама

Разместить рекламу