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

Читання файлу Excel у Python: основні методи та приклади коду

9 хв читання
1423 переглядів

Python надає безліч інструментів для роботи з файлами, в тому числі і з файлами формату Excel. Це дозволяє легко і зручно аналізувати і обробляти дані, що містяться в електронних таблицях.

Одним з найпопулярніших інструментів для читання та запису файлів Excel у Python є бібліотека pandas. З її допомогою можна легко завантажити дані з файлу Excel і виконати різні операції з ними.

Для початку роботи з файлом Excel необхідно встановити бібліотеку pandas. Після цього можна приступати до читання даних з файлу. Найпростіший спосіб-використовувати функцію read_excel (), яка автоматично визначає формат файлу та читає дані в dataframe, основну структуру даних бібліотеки pandas.

Якщо необхідно працювати з певним листом файлу Excel або вказати початкову комірку читання, можна передати відповідні аргументи в функцію read_excel(). Також є можливість вказати заголовок, який буде використовуватися в якості Імен стовпців датафрейма.

Методи читання файлу Excel у Python

Python надає різні бібліотеки та методи для читання даних із файлів Excel. За допомогою цих методів ви можете легко читати, аналізувати та маніпулювати даними у форматі Excel. Ось деякі основні методи читання файлу Excel у Python:

1. Бібліотека openpyxl: Це одна з найпопулярніших бібліотек Python для роботи з файлами Excel. Вона дозволяє відкривати, читати і записувати дані в файли Excel. Для читання файлу Excel за допомогою цієї бібліотеки потрібно використовувати метод load_workbook() .

2. Бібліотека pandas: Ця бібліотека надає потужні функції для роботи з даними у форматі Excel. Вона дозволяє зчитувати дані з файлів Excel, а також виконувати різні операції з даними, такі як фільтрація, сортування і угруповання. Для читання файлу Excel за допомогою цієї бібліотеки потрібно використовувати метод read_excel() .

3. Бібліотека xlrd: Ця бібліотека є старою і небагатослівною для роботи з файлами Excel. Вона дозволяє зчитувати дані з файлів Excel, але вона не підтримує нові формати Excel, такі як .xlsx. Для читання файлу Excel за допомогою цієї бібліотеки потрібно використовувати метод open_workbook() .

4. Бібліотека xlwt: Ця бібліотека дозволяє створювати, записувати та форматувати дані у файли Excel. Вона дозволяє також читати дані з файлів Excel, але вона не підтримує нові формати Excel, такі як .xlsx. Для читання файлу Excel за допомогою цієї бібліотеки потрібно використовувати метод open_workbook() .

Кожна з цих бібліотек має свої особливості, переваги та недоліки. Вибір конкретного методу залежить від ваших потреб та вимог проекту. Як правило, для роботи з новими форматами Excel, такими як .XLSX, рекомендується використовувати бібліотеки openpyxl або pandas. А для роботи зі старими форматами Excel, такими як .XLS, можна використовувати бібліотеки xlrd або xlwt.

Спосіб 1: pandas

Для роботи з файлом Excel за допомогою pandas спочатку потрібно імпортувати бібліотеку:

import pandas as pd

Потім можна використовувати функцію pd.read_excel() для читання файлу:

df = pd.read_excel('file.xlsx')# Где 'file.xlsx' - имя файла Excel

Функція read_excel () повертає Об'єкт DataFrame - основні структури даних в pandas. DataFrame являє собою двовимірну таблицю з мітками стовпців і рядків.

Після читання файлу, можна виконувати різні операції з даними, такі як фільтрація, сортування, агрегація, Візуалізація і багато іншого. Наприклад, можна вивести перші кілька рядків за допомогою методу head() :

print(df.head())

Також можна отримати інформацію про структуру та типи даних у файлі:

print(df.info())

Для запису даних у файл Excel можна використовувати метод to_excel (). Наприклад, наступний код збереже DataFrame у новому файлі:

df.to_excel('new_file.xlsx', index=False)# Где 'new_file.xlsx' - имя нового файла Excel

Це основні методи роботи з файлами Excel за допомогою pandas у Python. Бібліотека pandas надає безліч інших функцій і можливостей для обробки даних, які можуть бути корисні при роботі з файлами Excel.

Спосіб 2: openpyxl

Модуль openpyxl надає можливість зчитувати і записувати дані з файлів Excel у форматі .xlsx. Цей метод забезпечує більш високий рівень абстракції та більш зручний інтерфейс для роботи з даними.

Для початку роботи з модулем openpyxl необхідно встановити його за допомогою пакетного менеджера pip:

!pip install openpyxl

Читання файлу Excel можна виконати за допомогою функції load_workbook (), яка приймає ім'я файлу як аргумент:

from openpyxl import load_workbookfile_name = 'example.xlsx'work_book = load_workbook(file_name)sheet = work_book.active

Для обходу даних у файлі Excel можна використовувати цикли:

for row in sheet.iter_rows(min_row=1, max_row=5, min_col=1, max_col=3):for cell in row:print(cell.value)

Тут ми виводимо дані з перших 5 рядків і 3 стовпців файлу.

Модуль openpyxl також надає можливість записувати дані у файл Excel:

from openpyxl import Workbookwork_book = Workbook()sheet = work_book.activesheet['A1'] = 'Hello'sheet['B1'] = 'World'file_name = 'output.xlsx'work_book.save(file_name)

У цьому прикладі ми створюємо новий файл Excel і записуємо значення "Привіт" та "світ" у клітинки A1 та B1 відповідно.

Модуль openpyxl також дозволяє працювати з іншими аспектами файлів Excel, такими як форматування, стилі, і т. д.

Важливо зазначити, що Модуль openpyxl підтримує лише файли Excel у форматі .xlsx, і не підтримує старіші формати .xls.

Загалом, використання модуля openpyxl дає більш зручний спосіб читання та запису файлів Excel у Python, особливо якщо вам потрібно працювати з більш складними даними або застосовувати форматування.

Приклади коду

Ось кілька прикладів коду на мові Python, які дозволяють зчитувати дані з файлу Excel:

    Використання бібліотеки xlrd:

import xlrd# Открытие файлаworkbook = xlrd.open_workbook('example.xlsx')# Выбор активного листаsheet = workbook.sheet_by_index(0)# Получение значения ячейкиcell_value = sheet.cell_value(0, 0)# Вывод значения ячейкиprint(cell_value)
import openpyxl# Открытие файлаworkbook = openpyxl.load_workbook('example.xlsx')# Выбор активного листаsheet = workbook.active# Получение значения ячейкиcell_value = sheet.cell(row=1, column=1).value# Вывод значения ячейкиprint(cell_value)

Як видно з прикладів, кожна бібліотека має свої особливості у використанні. Обидві бібліотеки дозволяють відкривати та читати дані з файлів Excel, але в методах доступу до комірок є деякі відмінності.

Приклад 1: читання файлу Excel за допомогою pandas

Для початку роботи з бібліотекою pandas необхідно встановити її за допомогою команди:

!pip install pandas

Після установки pandas підключимо її в нашому коді:

import pandas as pd

Для читання файлу Excel за допомогою pandas використовується функція read_excel() . Нижче наведено приклад коду, який демонструє основні кроки читання файлу Excel:

# Загрузка файла Exceldf = pd.read_excel('file.xlsx')# Вывод первых 5 строк таблицыprint(df.head())

В результаті виконання цього коду буде виведений перші п'ять рядків таблиці з файлу Excel file.xlsx . Для читання потрібного аркуша Excel можна вказати його ім'я за допомогою аргументу sheet_name функції read_excel () :

# Загрузка файла Excel с указанием имени листаdf = pd.read_excel('file.xlsx', sheet_name='Sheet1')

Для отримання доступу до даних у таблиці можна використовувати різні методи pandas. Наприклад, можна отримати список стовпців таблиці наступним чином:

# Получение списка столбцов таблицыcolumns = df.columns.tolist()

Також можна отримувати доступ до даних в окремих осередках таблиці за їх координатами:

# Получение значения ячейки по координатамvalue = df.loc[0, 'Column1']

Приклад наведеного вище коду дозволяє отримати значення комірки в першому рядку і стовпці з назвою 'Column1'.

Бібліотека pandas надає безліч інших методів роботи з даними, таких як фільтрація, сортування, групування та агрегування. Більш детальну інформацію про можливості бібліотеки можна знайти в офіційній документації: https://pandas.pydata.org/

В даному прикладі розглянуті основні методи читання файлу Excel з використанням бібліотеки pandas. Завдяки її потужним інструментам можна ефективно працювати з даними з файлів Excel і здійснювати широкий спектр маніпуляцій з ними.

Приклад 2: читання файлу Excel за допомогою openpyxl

Приклад нижче демонструє, як прочитати вміст файлу Excel за допомогою openpyxl:

import openpyxl# Открываем файл Excelwb = openpyxl.load_workbook('example.xlsx')# Выбираем активный листsheet = wb.active# Печатаем содержимое ячеек в первой строкеfor cell in sheet[1]:print(cell.value)

У цьому прикладі ми спочатку відкриваємо файл Excel за допомогою функції load_workbook . Потім ми вибираємо активний аркуш за допомогою властивості active, щоб почати читати дані з цього аркуша. У цьому випадку ми просто друкуємо значення комірок у першому рядку.

Бібліотека openpyxl також надає безліч інших методів та властивостей для роботи з файлами Excel. Ви можете використовувати їх для виконання різних операцій, таких як читання даних з певного діапазону комірок, запис даних у комірки, створення нових аркушів тощо.

Приклад коду вище є лише найпростішим прикладом використання openpyxl. Читання файлів Excel може вимагати більш складної логіки та обробки даних. Бібліотека openpyxl володіє потужними можливостями і гнучкістю для роботи з різними типами даних і форматами Excel. Вам слід вивчити доступну документацію для повного розуміння всіх можливостей цієї бібліотеки.