![](https://products-qa.fileformat.com/ru/spreadsheet/python/pyexcel/header-image.png)
PyExcel
Библиотека Python с открытым исходным кодом для электронных таблиц
Чтение, создание, объединение и фильтрация данных в файлах электронных таблиц CSV, ODS, XLS, XLSX и XLSM через Python API.
PyExcel — это единый API Python с открытым исходным кодом, который поддерживает работу с несколькими популярными форматами электронных таблиц. Он позволяет программистам читать, обрабатывать и записывать данные в форматах файлов CSV, ODS, XLS, XLSX и XLSM. API в значительной степени ориентирован на данные, а не на форматы файлов. Библиотека помогает веб-разработчикам работать с большинством форматов файлов Excel, предоставляя общий программный интерфейс.
Получить или экспортировать данные из файлов MS Excel очень просто. В основном для получения данных из файлов Excel требуется однострочный код. Существует только один API для чтения и записи данных в различных форматах файлов Excel. API полностью поддерживает несколько важных функций, таких как чтение и обновление данных в электронной таблице, объединение всех файлов Excel в одном каталоге, разделение книги, извлечение листа из книги, объединение строк и ячеек, стилизация столбцов, добавление или удаление столбца. с листа, фильтрация данных и многое другое. API предоставляет список форматов файлов, поддерживаемых внешними плагинами. Вы можете использовать pip для добавления или удаления плагина.
Начало работы с PyExcel
Прежде всего, в вашей системе должен быть установлен Python 2.6 или выше. Рекомендуемый способ установки — через pip. Пожалуйста, используйте следующую команду.
Установите PyExcel с помощью команды PIP
pip install pyexcel
Python API для работы с электронными таблицами Excel
PyExcel API позволяет разработчикам программного обеспечения получать доступ, читать, записывать и управлять данными в различных форматах Excel, таких как CSV, ODS, XLS, XLSX и XLSM. Очень легко импортировать или экспортировать данные из файлов Excel с помощью PyExcel API. Он поддерживает добавление новой строки в существующий файл, обновление строки в существующем файле, добавление или обновление столбца в существующем файле, объединение или разделение листов, поиск данных, преобразование файлов Excel в другие форматы и многое другое.
Добавить новую строку в существующий файл таблицы через Python API
import pyexcel as pe
sheet = pe.get_sheet(file_name="example.xls")
sheet.row += [12, 11, 10]
sheet.save_as("new_example.xls")
pe.get_sheet(file_name="new_example.xls")
Объединение и разделение листа Excel
API PyExcel дает разработчику возможность объединять файлы, разбросанные по каталогу, в одну книгу Excel. Каждый файл станет листом внутри рабочей книги. Он также предоставляет функции для смешивания и сопоставления с другими форматами Excel, такими как XLS, CSV, XLSM и ODS. Это также облегчает вам разделение книги на несколько файлов. Предположим, у вас есть книга, содержащая несколько рабочих листов, с помощью библиотеки PyExcel с открытым исходным кодом вы можете разделить каждый лист на один лист Excel.
Merge или Split Excel Files через Python API
//merge two files into one file
from pyexcel.cookbook import merge_two_files
merge_two_files("example.csv", "example.xls", "output.xls")
//Split a workbook into single sheet files
from pyexcel.cookbook import split_a_book
split_a_book("megabook.xls", "output.xls")
import glob
outputfiles = glob.glob("*_output.xls")
for file in sorted(outputfiles):
print(file)
Фильтрация данных в электронных таблицах
PyExcel API предоставляет разработчикам функции фильтрации данных в соответствии с их собственными потребностями. Предположим, у вас есть большой объем данных, и вы хотите отфильтровать некоторые данные из него. Используя API, вы можете легко это сделать. Он также поддерживает фильтрацию пустых строк или столбцов на листе. Вы также можете сохранить данные фильтра в другой файл.
Как отфильтровать пустой Росс из списка Excel внутри приложений Python
import pyexcel as pe
sheet = pe.Sheet([[1,2,3],['','',''],['','',''],[1,2,3]])
//define filter
def filter_row(row_index, row):
result = [element for element in row if element != '']
return len(result)==0
// Apply filter
del sheet.row[filter_row]