71 votos

¿Cómo puedo abrir un archivo de Excel en Python?

¿Cómo puedo abrir un archivo que es un archivo de Excel para la lectura en Python?

He abierto los archivos de texto, por ejemplo, sometextfile.txt con el comando de lectura. ¿Cómo puedo hacer que de un archivo de Excel?

81voto

puede utilizar los pandas paquete....

import pandas as pd
xl = pd.ExcelFile(path + filename)
xl.sheet_names

>>> [u'Sheet1', u'Sheet2', u'Sheet3']

df = xl.parse("Sheet1")
df.head()

df.cabeza() imprime primeras 5 filas de su archivo de Excel

31voto

Jon Cage Puntos 14126

Pruebe el xlrd de la biblioteca.

[Editar] - de lo que puede ver a partir de tu comentario, algo así como el siguiente fragmento podría hacer el truco. Estoy asumiendo aquí que sólo estás buscando una columna para la palabra 'juan', pero usted puede agregar más o convertir esto en un más genérico de la función.

from xlrd import open_workbook

book = open_workbook('simple.xls',on_demand=True)
for name in book.sheet_names():
    if name.endswith('2'):
        sheet = book.sheet_by_name(name)

        # Attempt to find a matching row (search the first column for 'john')
        rowIndex = -1
        for cell in sheet.col(0): # 
            if 'john' in cell.value:
                break

        # If we found the row, print it
        if row != -1:
            cells = sheet.row(row)
            for cell in cells:
                print cell.value

        book.unload_sheet(name) 

16voto

Donald Miner Puntos 18116

Esto no es tan sencillo como abrir un archivo de texto plano y requieren algún tipo de módulo externo, ya que nada está construido para ello. Aquí están algunas opciones:

http://www.python-excel.org/

Si es posible, puede que desee considerar la exportación de la hoja de cálculo de excel como un archivo CSV y, a continuación, utilizar la función en python csv módulo de leer:

http://docs.python.org/library/csv.html

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X