![](https://products-qa.fileformat.com/pt/spreadsheet/python/pyexcel/header-image.png)
PyExcel
Biblioteca Python de código aberto para planilhas
Leia, crie, mescle e filtre dados em arquivos de planilha CSV, ODS, XLS, XLSX e XLSM via API Python.
PyExcel é uma API Python única de código aberto que suporta trabalhar com vários formatos populares de planilhas. Ele permite que os programadores de software leiam, manipulem e gravem dados nos formatos de arquivo CSV, ODS, XLS, XLSX e XLSM. A API se concentrou muito em dados em vez de formatos de arquivo. A biblioteca ajuda os desenvolvedores da Web a lidar com a maioria dos formatos de arquivo do Excel, fornecendo uma interface de programação comum.
É muito fácil obter ou exportar dados de arquivos do MS Excel. Principalmente requer código de uma linha para obter dados dos arquivos do Excel. Existe apenas uma API para ler e gravar dados em vários formatos de arquivo do Excel. Vários recursos importantes são totalmente suportados pela API, como ler e atualizar dados em uma planilha, mesclar todos os arquivos do Excel em um diretório, dividir pasta de trabalho, extrair planilha de uma pasta de trabalho, mesclar linhas e células, estilizar colunas, adicionar ou remover uma coluna a partir de uma planilha, filtragem de dados e muito mais. A API fornece uma lista de formatos de arquivo suportados por plug-ins externos. Você pode usar pip para adicionar ou remover um plugin.
Introdução ao PyExcel
Antes de tudo, você precisa ter o Python 2.6 ou superior instalado em seu sistema. A maneira recomendada de instalar é via pip. Por favor, use o seguinte comando.
Instale o PyExcel via comando PIP
pip install pyexcel
API Python para trabalhar com planilha do Excel
A API PyExcel permite que os desenvolvedores de software acessem, leiam, gravem e manipulem dados em vários formatos do Excel, como CSV, ODS, XLS, XLSX e XLSM. É muito fácil importar ou exportar dados de arquivos do Excel usando a API PyExcel. Ele oferece suporte para adicionar uma nova linha a um arquivo existente, atualizar uma linha em um arquivo existente, adicionar ou atualizar a coluna para um arquivo existente, mesclar ou dividir planilhas, pesquisar dados, converter arquivos do Excel para outros formatos e muito mais.
Adicionar nova linha para o arquivo de planilha existente via 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")
Mesclar e dividir uma planilha do Excel
A API PyExcel oferece ao desenvolvedor a capacidade de mesclar arquivos espalhados em um diretório em uma única pasta de trabalho do Excel. Cada arquivo se tornará uma planilha dentro de uma pasta de trabalho. Ele também fornece recursos para misturar e combinar com outros formatos do Excel, como XLS, CSV, XLSM e ODS. Também facilita a divisão de uma pasta de trabalho em vários arquivos. Suponha que você tenha um livro contendo várias planilhas, usando a biblioteca PyExcel de código aberto, você pode separar cada uma em um único arquivo excel de planilha.
Mesclar ou dividir arquivos do Excel através do 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)
Filtragem de dados em planilhas
A API PyExcel fornece recursos para que os desenvolvedores filtrem dados de acordo com suas próprias necessidades. Vamos supor que você tenha uma grande quantidade de dados e queira filtrar alguns dados dela. Usando a API, você pode fazer isso facilmente. Ele também suporta a filtragem de linhas ou colunas vazias de uma planilha. Você também pode salvar dados de filtro em outro arquivo.
Como filtrar o Ross Vazio do Excel dentro do Python Apps
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]