Abrir y leer un archivo excel .xlsx en python

Estoy tratando de abrir un archivo .xlsx de excel con python, pero no puedo encontrar la manera de hacerlo, he intentado usar pandas pero quiero usar una biblioteca llamada NumPy. Intenté instalar numpy pero aún puedo No encuentras los números.

También he intentado usar la biblioteca xlrd pero obtengo el siguiente rastreo:

Traceback (most recent call last): File "C:\test.py", line 3, in  book = open_workbook('test.xlsx') File "C:\Python27\lib\site-packages\xlrd\__init__.py", line 370, in open_workbook biff_version = bk.getbof(XL_WORKBOOK_GLOBALS) File "C:\Python27\lib\site-packages\xlrd\__init__.py", line 1323, in getbof raise XLRDError('Expected BOF record; found 0x%04x' % opcode) XLRDError: Expected BOF record; found 0x4b50 

¿Qué asumo es que XLRD no puede leer archivos .xlsx?

¿Alguien tiene alguna idea?

EDITAR:

 import csv with open('test.csv', 'rb') as csvfile: data = csv.reader(csvfile, delimiter=',') for row in data: print "------------------" print row print "------------------" for cell in row: print cell 

¿Tal vez podría exportar su .xlsx a un archivo .csv?

Entonces podrías intentar:

 import csv with open('file.csv','rb') as file: contents = csv.reader(file) [x for x in contents] 

Esto puede ser útil: http://docs.python.org/2/library/csv.html#csv.reader

¡Espero que ayude!

EDITAR:

Si desea ubicar una celda espectacular, como F13, puede hacer una lista anidada como una matriz y referirse a cada elemento:

 import csv with open('file.csv','rb') as file: contents = csv.reader(file) matrix = list() for row in contents: matrix.append(row) 

Y luego acceder a F13 con la matrix[5][12] .

PD: no he probado esto. Si “fila” es una lista con cada celda como elemento, continuará agregando todas las líneas a la matriz, por lo que el primer índice es el número de la fila y el segundo es el número de la columna.

Parece que estás en un Linux Distro. También tuve el mismo problema y esto no ocurre con la biblioteca “xlwt” sino solo con “xlrd”. Lo que hice no es la forma correcta de resolver este problema, pero hace que las cosas funcionen por el momento y espero tener una respuesta a esa pregunta pronto. Instalé “xlrd” en Windows, tomé la carpeta y la pegué en Linux en el servidor. Directorio donde está mi código python y funcionó.

Como sé, otras personas también leerán esto.

Puede instalar el siguiente módulo (no está allí automáticamente) https://pypi.python.org/pypi/openpyxl

Puedes leer lo siguiente para obtener un buen desglose sobre cómo usarlo

https://automatetheboringstuff.com/chapter12/