Класс ExcelFile
Класс ExcelFile используется для создания объекта,
представляющего Excel-файл. Этот объект предоставляет методы
для получения информации о листах и чтения данных из них.
Основное преимущество класса - возможность многократного
чтения разных листов без повторного открытия файла.
При создании объекта можно указать путь к файлу, файловый
объект или поток данных. Также доступны параметры для
настройки движка чтения и обработки больших файлов.
Синтаксис
pd.ExcelFile(io, engine=None, storage_options=None)
Параметры:
-
io- путь к Excel-файлу, файловый объект или байтовый поток -
engine- движок для чтения файла (openpyxl,xlrd,odf) -
storage_options- дополнительные параметры для облачного хранилища
Атрибуты и методы
Основные атрибуты и методы класса ExcelFile:
-
sheet_names- список всех имен листов в файле -
parse- чтение данных из указанного листа вDataFrame -
close- закрытие файла и освобождение ресурсов
Пример
Создадим объект ExcelFile и получим список листов
в файле:
import pandas as pd
file = pd.ExcelFile('data.xlsx')
print(file.sheet_names)
Результат выполнения кода:
['Sheet1', 'Sheet2', 'Sheet3']
Пример
Прочитаем данные из конкретного листа с помощью метода
parse:
import pandas as pd
file = pd.ExcelFile('data.xlsx')
df = file.parse('Sheet1')
print(df)
Результат выполнения кода:
a b
0 1 10
1 2 20
2 3 30
3 4 40
4 5 50
Пример
Используем метод parse с параметром header
для указания строки с заголовками:
import pandas as pd
file = pd.ExcelFile('data.xlsx')
df = file.parse('Sheet1', header=0)
print(df.head(3))
Результат выполнения кода:
a b
0 1 10
1 2 20
2 3 30
Пример
Чтение данных с пропуском строк с помощью параметра
skiprows:
import pandas as pd
file = pd.ExcelFile('data.xlsx')
df = file.parse('Sheet1', skiprows=1)
print(df)
Результат выполнения кода:
1 10
0 2 20
1 3 30
2 4 40
3 5 50
Пример
Явное закрытие файла после работы с ним:
import pandas as pd
file = pd.ExcelFile('data.xlsx')
df = file.parse('Sheet1')
print(df.shape)
file.close()
Результат выполнения кода:
(5, 2)
Пример
Чтение данных из файла с использованием контекстного менеджера для автоматического закрытия:
import pandas as pd
with pd.ExcelFile('data.xlsx') as file:
df = file.parse('Sheet1')
print(df)
Результат выполнения кода:
a b
0 1 10
1 2 20
2 3 30
3 4 40
4 5 50
Смотрите также
-
класс
ExcelFile,
который используется для работы с Excel-файлами -
метод
parse,
который читает данные из листа вDataFrame -
метод
close,
который закрывает файл и освобождает ресурсы -
атрибут
sheet_names,
который возвращает список имен листов