Lendo um Arquivo .xlsx com Python

O Pacote Microsoft Office é um padrão no mundo corporativo. Por muitas vezes nos deparamos com uma situação de fazer um tratamento automatizado de dados que estão dispersos em planilhas em Excel. Como fazer isso de forma automatizada?

A primeira resposta seria utilizar as Macros, recurso presente no próprio Microsoft Excel. Porém, esta solução é um pouco engessada, adequada somente quando estamos tratando poucos dados presentes em uma ou no máximo duas ou três planilhas diferentes. A situação muda de figura quando você tem dezenas ou centenas de planilhas em Excel para tratar.

O que é difícil para as macros do Excel torna-se bastante fácil para alguma linguagem de desenvolvimento rápido como o Python, que tem um ecossistema de bibliotecas e pacotes bastante rico.

Minha biblioteca preferida para fazer este serviço é o openpyxl, que é bem documentada e com atualizações frequentes. Com ela você, consegue ler e criar arquivos .xlsx bastante complexos.

Abaixo vamos ver alguns exemplos de como é simples a utilização desta biblioteca.

Os arquivos .xlsx são chamados de Workbooks e as planilhas (abas) dentro do arquivo são chamadas de Worksheets.

O comando abaixo abre um arquivo .xlsx, seleciona uma planilha interna e depois printa na tela a primeira célula de cada linha:

from openpyxl import load_workbook
wb = load_workbook('test.xlsx') # abrindo o Workbook test.xlsx
ws = wb['Plan1'] # selecionando a planilha 'Plan1' dentro do Workbook test.xlsx
for line in ws:  # iterando em todas as linhas da 'Plan1'
   print line[0] # print a primeira célula da linha

Você achou esta informação útil? Sugira temas para os próximos posts.

Tire dúvidas e enriqueça o debate utilizando os comentários.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s