Как открыть эксель в питоне
Чтение и запись файлов Excel (XLSX) в Python
Pandas можно использовать для чтения и записи файлов Excel с помощью Python. Это работает по аналогии с другими форматами. В этом материале рассмотрим, как это делается с помощью DataFrame.
Помимо чтения и записи рассмотрим, как записывать несколько DataFrame в Excel-файл, как считывать определенные строки и колонки из таблицы и как задавать имена для одной или нескольких таблиц в файле.
Установка Pandas
Если у вас Windows, Linux или macOS:
В процессе можно столкнуться с ошибками ModuleNotFoundError или ImportError при попытке запустить этот код. Например:
В таком случае нужно установить недостающие модули:
Запись в файл Excel с python
Ключи в словаре — это названия колонок. А значения станут строками с информацией.
Теперь можно использовать функцию to_excel() для записи содержимого в файл. Единственный аргумент — это путь к файлу:
Стоит обратить внимание на то, что в этом примере не использовались параметры. Таким образом название листа в файле останется по умолчанию — «Sheet1». В файле может быть и дополнительная колонка с числами. Эти числа представляют собой индексы, которые взяты напрямую из DataFrame.
Поменять название листа можно, добавив параметр sheet_name в вызов to_excel() :
Запись нескольких DataFrame в файл Excel
Также есть возможность записать несколько DataFrame в файл Excel. Для этого можно указать отдельный лист для каждого объекта:
Здесь создаются 3 разных DataFrame с разными названиями, которые включают имена сотрудников, а также размер их зарплаты. Каждый объект заполняется соответствующим словарем.
Перед записью пройдемся по ключам salary_sheets и для каждого ключа запишем содержимое в лист с соответствующим именем. Вот сгенерированный файл:
Можно увидеть, что в этом файле Excel есть три листа: Group1, Group2 и Group3. Каждый из этих листов содержит имена сотрудников и их зарплаты в соответствии с данными в трех DataFrame из кода.
В зависимости от установленных в системе модулей Python другими параметрами для движка могут быть openpyxl (для xlsx или xlsm) и xlwt (для xls). Подробности о модуле xlswriter можно найти в официальной документации.
Чтение файлов Excel с python
В Python данные из файла Excel считываются в объект DataFrame. Для этого используется функция read_excel() модуля pandas.
Лист Excel — это двухмерная таблица. Объект DataFrame также представляет собой двухмерную табличную структуру данных.
1. Пример использования Pandas read_excel()
Предположим, что у нас есть документ Excel, состоящий из двух листов: «Employees» и «Cars». Верхняя строка содержит заголовок таблицы.
Ниже приведен код, который считывает данные листа «Employees» и выводит их.
Первый параметр, который принимает функция read_excel ()— это имя файла Excel. Второй параметр (sheet_name) определяет лист для считывания данных.
При выводе содержимого объекта DataFrame мы получаем двухмерные таблицы, схожие по своей структуре со структурой документа Excel.
2. Список заголовков столбцов листа Excel
Чтобы получить список заголовков столбцов таблицы, используется свойство columns объекта Dataframe. Пример реализации:
3. Вывод данных столбца
Мы можем получить данные из столбца и преобразовать их в список значений. Пример:
4. Пример использования Pandas to Excel: read_excel()
Можно указать имена столбцов для чтения из файла Excel. Это потребуется, если нужно вывести данные из определенных столбцов таблицы.
5. Чтение файла Excel без строки заголовка
Если в листе Excel нет строки заголовка, нужно передать его значение как None.
Если вы передадите значение заголовка как целое число (например, 3), тогда третья строка станет им. При этом считывание данных начнется со следующей строки. Данные, расположенные перед строкой заголовка, будут отброшены.
6. Лист Excel в Dict, CSV и JSON
7. Ресурсы
Пожалуйста, опубликуйте ваши комментарии по текущей теме статьи. За комментарии, отклики, лайки, дизлайки, подписки низкий вам поклон!
Дайте знать, что вы думаете по данной теме в комментариях. Мы крайне благодарны вам за ваши комментарии, отклики, подписки, дизлайки, лайки!
Как читать excel-файлы (xlsx) при помощи Python
.xlsx – это расширение документа Excel, который может хранить большой объем данных в табличной форме. Более того, в электронной таблице Excel можно легко выполнять многие виды арифметических и логических вычислений.
Для начала
sales.xlsx
| Sales Date | Sales Person | Amount |
|---|---|---|
| 12/05/18 | Sila Ahmed | 60000 |
| 06/12/19 | Mir Hossain | 50000 |
| 09/08/20 | Sarmin Jahan | 45000 |
| 07/04/21 | Mahmudul Hasan | 30000 |
Этот файл мы и будем читать с помощью различных библиотек Python в следующей части этого руководства.
Чтение Excel-файла с помощью xlrd
После завершения процесса установки создайте Python-файл, в котором мы будем писать скрипт для чтения файла sales.xlsx с помощью модуля xlrd.
Воспользуемся функцией open_workbook() для открытия файла xlsx для чтения. Этот файл Excel содержит только одну таблицу. Поэтому функция workbook.sheet_by_index() используется в скрипте со значением аргумента 0.
Запустим наш код и получим следующий результат.
Чтение Excel-файла с помощью openpyxl
После завершения процесса установки можно начинать писать код для чтения файла sales.xlsx.
Как и модуль xlrd, модуль openpyxl имеет функцию load_workbook() для открытия excel-файла для чтения. В качестве значения аргумента этой функции используется файл sales.xlsx.
Функцию range() используем для чтения строк таблицы, а функцию iter_cols() — для чтения столбцов. Каждое поле в выводе будет разделено двумя пробелами табуляции.
Запустив наш скрипт, получим следующий вывод.
Чтение Excel-файла с помощью pandas
Если вы не пользовались библиотекой pandas ранее, вам необходимо ее установить. Как и остальные рассматриваемые библиотеки, она не поставляется вместе с Python. Выполните следующую команду, чтобы установить pandas из терминала.
После завершения процесса установки создаем файл Python и начинаем писать следующий скрипт для чтения файла sales.xlsx.
После запуска кода мы получим следующий вывод.
Результат работы этого скрипта отличается от двух предыдущих примеров. В первом столбце печатаются номера строк, начиная с нуля. Значения даты выравниваются по центру. Имена продавцов выровнены по правому краю, а сумма — по левому.
Заключение
Надеемся, теперь у вас не возникнет сложностей с чтением этих файлов в ваших скриптах.
Обработка Excel файлов с использованием Python
По работе пришлось столкнуться с задачей обработки xls файлов средствами python. Немного по гуглив, я натолкнулся на несколько библиотек, с помощью которых можно работать с файлами excel.
Библиотеки:
— xlrd – дает возможность читать файлы Excel
— xlwt – создание и заполнение файлов Excel
— xlutils – набор утилит для расширения возможности предыдущих двух библиотек
— pyExcelerator – также дает возможность работать с файлами Excel, но давно не обновлялась.
Для своей задачи я использовал первые три библиотеки.
Задача была разбита на несколько частей: чтение файла с расширением xls; создание нового и заполнение его; создание копии файла на основе входного файла; удаление необходимых строк в выходном файле.
Чтение входного файла
Создание нового файла и заполнение его
import xlwt
from datetime import datetime
Создание копии файла на основе входного файла
import xlrd
import xlwt
from xlutils.copy import copy
Вот такой вот небольшой код получился. Для того чтобы он работал, обязательно должен стоять флаг on_demand=True. Благодаря использованию флага formatting_info выходной файл получается с такими же стилями оформления, как и входной. Для моей задачи это оказалась нужная опция.
Удаление строк по заданному условию
from xlutils.filter import GlobReader,BaseFilter,DirectoryWriter,process
myfile = ‘final2.xls’
mydir = ‘d:/’
class MyFilter (BaseFilter):
data = «»»somedata1
somedata2
somedata3
somedata4
somedata5
«»»
Заключение
Используя набор из трех библиотек, поставленные задачи были решены. Было замечено следующее: при наличии во входном Excel файле графических элементов (картинки и т.д) в выходной файл они не переносятся. Возможно изучив эти библиотеки можно будет решить и эту часть задачи.
Чтение и запись файлов Excel в Python – полное руководство
Активный лист определяется как лист, который пользователь просматривает в данный момент или последний раз просматривал перед закрытием Excel.
Чтение из файла Excel
Чтобы осуществлять чтение и запись файлов Excel в Python, во-первых, вам нужно написать команду для установки модуля xlrd.
Создание книги
Книга содержит все данные в файле Excel. Вы можете создать новую книгу с нуля или легко создать книгу из уже существующего файла Excel.
Мы сделали снимок книги.
Объяснение: В приведенном выше примере мы импортировали модуль xlrd и определили расположение файла. Затем мы открыли книгу из уже существующего файла Excel.
Чтение из Pandas
Pandas определяется как библиотека с открытым исходным кодом, которая построена на основе библиотеки NumPy. Он обеспечивает быстрый анализ, очистку данных и подготовку данных для пользователя и поддерживает расширения xls и xlsx из URL-адреса.
Это пакет Python, который предоставляет полезную структуру данных, называемую фреймом данных.
Чтение из openpyxl
Во-первых, нам нужно установить модуль openpyxl с помощью pip из командной строки.
После этого нам нужно импортировать модуль.
Мы также можем читать данные из существующей электронной таблицы с помощью openpyxl. Это позволяет пользователю выполнять вычисления и добавлять контент, который не был частью исходного набора данных.
Запись файлов Excel
Если вы хотите записать данные в любой файл и не хотите, чтобы все выполнялось самостоятельно, вы можете использовать цикл for, чтобы немного автоматизировать весь процесс.
Запись файла Excel с помощью модуля xlsxwriter
Мы также можем написать файл Excel с помощью модуля xlsxwriter. Он определяется как модуль Python для записи файлов в формате XLSX. Его также можно использовать для записи текста, чисел и формул на несколько листов. Кроме того, он поддерживает такие функции, как диаграммы, форматирование, изображения, настройку страницы, автоматические фильтры, условное форматирование и многие другие.
Нам нужно использовать следующую команду для установки модуля xlsxwriter:
Примечание. В XlsxWriter строки и столбцы имеют нулевой индекс. Первая ячейка на листе отображается как, A1 – это(0,0), B1 – это(0,1), A2 – это(1,0), B2 – это(1,1) ……, и т.д.
Через модуль openpyxl
Функция load_workbook() принимает аргумент и возвращает объект книги, представляющий файл. Убедитесь, что вы находитесь в том же каталоге, где находится ваша электронная таблица. В противном случае вы получите ошибку при импорте.
Вы можете легко использовать цикл for с помощью функции range(), которая поможет вам распечатать значения строк, которые имеют значения в столбце 2. Если эти конкретные ячейки пусты, вы получите None.
Запись данных в файлы Excel с помощью xlwt
Он поддерживает такие функции, как форматирование, изображения, диаграммы, настройку страницы, автоматические фильтры, условное форматирование и многие другие.
У Pandas есть отличные методы для чтения всех видов данных из файлов Excel. Мы также можем импортировать результаты обратно в pandas.
Используя pyexcel
Вы можете легко экспортировать свои массивы обратно в электронную таблицу с помощью функции save_as() и передать массив и имя целевого файла в аргумент dest_file_name.
Это позволяет нам указать разделитель и добавить аргумент dest_delimiter. Вы можете передать символ, который хотите использовать в качестве разделителя между “”.








