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 OpenPyXL
usaremos 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 pip
mas 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):
pip install openpyxl
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 OpenPyXL
nós precisamos import
isso, da seguinte forma:
import openpyxl
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:
import openpyxl excel_document = openpyxl.load_workbook('sample.xlsx')
Vamos agora ver o type
voltou do load_workbook()
método. Isso pode ser feito da seguinte forma:
print type(excel_document)
Isso retornará o seguinte:
Como podemos ver, o objeto retornado é Workbook
do 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:
print(excel_document.sheetnames)
Se nós imprimir
o comando acima, obtemos o seguinte:
['Sheet1']
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
print(excel_document. get_sheet_by_name('Sheet1'))
A saída será:
Worksheet "Sheet1"
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:
sheet = excel_document['Sheet1'] print(sheet['A2'].value)
Neste caso, você terá o seguinte valor retornado:
Abder
Também podemos usar uma notação linha-coluna. Por exemplo, se quisermos acessar a célula na linha 5
e coluna 2
digitamos o seguinte:
sheet.cell(row = 5, column = 2).value
A saída neste caso será: programmer
.
Se quisermos ver o tipo de objeto que representa a célula, podemos digitar:
print(type(sheet['A2']))
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 B3
que se parecem com isso em nosso documento do Excel?
Isso pode ser feito usando o seguinte script:
multiple_cells = sheet['A1':'B3'] for row in multiple_cells: for cell in row: print(cell.value)
Nesse caso, você obterá a seguinte saída:
Name Profession Abder Student Bob Engineer
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:
for row in sheet.rows: print(row)
A saída do script acima seria a seguinte:
(, | ) ( | , | ) ( | , | ) ( | , | ) ( | , | ) ( | , | ) ( | , | ) |
Por outro lado, se quisermos acessar todos os colunassimplesmente fazemos o seguinte:
for column in sheet.columns: print(column)
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+.
Originally posted 2022-06-06 01:56:49.