Como trabalhar com documentos do Excel usando Python

Acredito que você tenha usado o Microsoft Excel em alguma ocasião. É muito poderoso quando se trata de trabalhar com planilhas, tabelas, gráficos, etc. Mas o que o Python tem a ver com isso?

Python é um divisor de águas quando se trata de arquivos do Excel porque pode automatizar coisas assustadoras que você pode encontrar em algumas tarefas relacionadas ao Excel. Por exemplo, você pode ser obrigado a procurar algumas informações em centenas de planilhas de orçamentos da empresa. Muito assustador, não é? Neste tutorial, mostrarei como o Python pode ser usado facilmente para trabalhar com documentos do Excel.

Ah, não se preocupe se você não tiver o Microsoft Excel instalado em sua máquina. Você pode usar outras alternativas para percorrer este tutorial, como LibreOffice Calc e OpenOffice Calc.

Então vamos começar!

OpenPyXL

OpenPyXL é uma biblioteca usada para ler e escrever Excel 2010 .xlsx/.xlsm/.xltx/.xltm arquivos. Esta é a biblioteca que usaremos neste tutorial para trabalhar com documentos do Excel.

A primeira coisa que precisamos fazer para usar esta biblioteca é instalar OpenPyXL.

Instalando o OpenPyXL

Para instalar OpenPyXLusaremos pip, que é (com base na Wikipedia):

Um sistema de gerenciamento de pacotes usado para instalar e gerenciar pacotes de software escritos em Python. Muitos pacotes podem ser encontrados no Python Package Index (PyPI).

Você pode seguir as etapas mencionadas no Guia do usuário do Python Packaging para instalar pipmas se tiver Python 2.7.9 e superior, ou Python 3.4 e superior, você já tem pip!

OpenPyXL now pode ser instalado simplesmente digitando o seguinte comando (no Terminal do Mac OS X):

Abrindo um documento do Excel

Depois de instalar OpenPyXL, estamos prontos para começar a trabalhar com documentos do Excel. A primeira tarefa normal que realizaríamos em um documento do Excel é abrir aquele documento. Vá em frente e baixe o arquivo do Excel sample.xlsx para acompanhar o tutorial, ou você pode usar o arquivo do Excel que desejar.

Antes que possamos usar OpenPyXLnós precisamos import isso, da seguinte forma:

O método que precisamos para abrir o documento do Excel é load_workbook(). Se você está se perguntando o que significa uma pasta de trabalho, é simplesmente o documento de planilha do Excel. O script que precisamos para abrir um documento do Excel é o seguinte:

Vamos agora ver o type voltou do load_workbook() método. Isso pode ser feito da seguinte forma:

Isso retornará o seguinte:

Como podemos ver, o objeto retornado é Workbookdo tipo de dados workbook. o Workbook objeto aqui representa o arquivo Excel.

Nomes de planilhas

As planilhas do Excel consistem em colunas (com letras começando em A, B, C, etc.) e linhas (começando em 1, 2, 3, etc.). Para verificar quais planilhas temos em nosso documento Excel, usamos o get_sheet_names() método da seguinte forma:

Se nós imprimir o comando acima, obtemos o seguinte:

Mostrando assim que temos uma folha, chamada Sheet1.

Se você tiver várias planilhas, poderá acessar uma planilha específica pelo nome usando este método: get_sheet_by_name(). Por exemplo, para obter a planilha atual

A saída será:

Acessando células

Agora que aprendemos como abrir um arquivo do Excel e obter a planilha, vamos ver como é fácil acessar uma célula dessa planilha. Tudo o que você precisa fazer é recuperar essa planilha e determinar a localização (coordenada) da célula. Digamos que queremos acessar a coluna A fileira 2 no documento Excel que temos, ou seja A2. Isso pode ser implementado da seguinte forma:

Neste caso, você terá o seguinte valor retornado:

Também podemos usar uma notação linha-coluna. Por exemplo, se quisermos acessar a célula na linha 5 e coluna 2digitamos o seguinte:

A saída neste caso será: programmer.

Se quisermos ver o tipo de objeto que representa a célula, podemos digitar:

Nesse caso, você obteria a seguinte saída:

o que significa que o objeto é do tipo Cell.

Acessando um intervalo de células

E se você estivesse interessado em acessar um intervalo de células em vez de apenas uma célula? Digamos que queremos acessar as células de A1 para B3que se parecem com isso em nosso documento do Excel?

Células A1 a B3 da planilha ExcelCélulas A1 a B3 da planilha ExcelCélulas A1 a B3 da planilha Excel

Isso pode ser feito usando o seguinte script:

Nesse caso, você obterá a seguinte saída:

Acessando todas as linhas e colunas

OpenPyXL permite acessar todas as linhas e colunas em seu documento Excel, usando o rows() e columns() métodos, respectivamente.

Para acessar todas as linhas, podemos fazer o seguinte:

A saída do script acima seria a seguinte:

Por outro lado, se quisermos acessar todos os colunassimplesmente fazemos o seguinte:

Nesse caso, você obterá a seguinte saída:

É claro que há mais coisas que você pode fazer com documentos do Excel, como você pode ver na documentação do OpenPyXL.

Conclusão

A partir deste tutorial, percebemos o quão flexível pode ser trabalhar com documentos do Excel usando Python. Lembra do cenário mencionado no início do tutorial? Vale a pena tentar como um projeto!

Este post foi atualizado com contribuições de Esther Vaati. Esther é desenvolvedora de software e escritora da Envato Tuts+.

Deixe um comentário

O seu endereço de e-mail não será publicado.