Lendo arquivos .xls com Python

plan

É comum encontrar muitos dados em arquivos .xls (gerados pelo aplicativo MS Excel). Nada contra o uso de planilhas, é muito mais prático manter dados simples em uma planilha do que fazer um sistema para isso. Mas, como acontece muitas vezes com formatos proprietários, é um problema ler os arquivos em outros programas.

No Python, existem várias formas de ler arquivos .xls, mas encontrei um módulo que faz isso sem estar amarrado ao ambiente MS Windows, chamado xlrd.

É bem simples usar o xlrd:

import xlrd

def xlread(arq_xls):
    """
    Gerador que le arquivo .xls
    """

    # Abre o arquivo
    xls = xlrd.open_workbook(arq_xls)
    # Pega a primeira planilha do arquivo
    plan = xls.sheets()[0]

    # Para i de zero ao numero de linhas da planilha
    for i in xrange(plan.nrows):
        # Le os valores nas linhas da planilha
        yield plan.row_values(i)

for linha in xlread('test.xls'):
    print linha

Exemplo de saída:

['', u'Jan', u'Fev', u'Mar']
[1.0, 0.0045009718530996667, 0.70958253076994993, 0.021361691678225547]
[2.0, 0.19286006726822591, 0.2900476412466606, 0.76921168345378743]
[3.0, 0.63927019964636411, 0.48395772694194683, 0.16016329685982544]
[4.0, 0.17506546034568182, 0.52921305494117954, 0.61273957732425499]
[5.0, 0.92671590150827088, 0.48819571272829609, 0.78142170459593885]
[6.0, 0.55388783671543163, 0.94377138225399015, 0.99007211643730475]

O xlrd pode recuperar várias informações sobre a planilha além dos valores.

Atualização: o port do módulo para Python 3 já está disponível.

 

Deixe uma resposta

Faça o login usando um destes métodos para comentar:

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