¿Cuál es la mejor manera de leer archivos de Excel (XLS) con Python (no CSV archivos).de lectura/analizar archivos Excel (XLS) con Python
¿Hay un paquete integrado que es apoyada por defecto en Python para realizar esta tarea?
¿Cuál es la mejor manera de leer archivos de Excel (XLS) con Python (no CSV archivos).de lectura/analizar archivos Excel (XLS) con Python
¿Hay un paquete integrado que es apoyada por defecto en Python para realizar esta tarea?
Puede utilizar cualquiera de las bibliotecas listed here (como Pyxlreader que se basa en JExcelApi o xlwt), además de COM automation to use Excel itself para la lectura de los archivos, pero para eso se está introduciendo Oficina como una dependencia de su software, lo que podría no ser siempre una opción.
(1) pyxlreader es la viruela absoluta. No debes haberlo probado nunca. Vea mis comentarios aquí: http://stackoverflow.com/questions/1243545/programmatically-extract-data-from-an-excel-spreadsheet (2) 'xlwt' WriTes files; use 'xlrd' para los archivos ReaD. –
Recomiendo encarecidamente xlrd para leer .xls
archivos.
voyager mencionó el uso de la automatización COM. Habiendo hecho esto yo mismo hace unos años, ten en cuenta que hacer esto es un verdadero PITA. El número de advertencias es enorme y la documentación es deficiente y molesta. Me encontré con muchos bichos y errores extraños, algunos de los cuales tardaron muchas horas en descifrar.
ACTUALIZACIÓN: Para los archivos más nuevos .xlsx
, la biblioteca recomendada para lectura y escritura parece ser openpyxl.
Para archivos de Excel 2007+ ('.xlsx') probablemente use [OpenPyXL] (http://openpyxl.readthedocs.org/). –
También puede considerar que ejecuta el (no pitón) xls2csv programa. Aliméntalo con un archivo xls, y deberías obtener un csv.
Pero el cartel dice que necesita leer en Python ... ¿Sugiere ejecutar 'xls2csv', y luego analizar' csv' desde Python? – Hbcdev
Python-excelerator contiene un contenedor ejecutable py_xls2csv alrededor de un convertidor python. –
Para más viejos archivos de Excel no es el OleFileIO_PL module que puede leer el formato de almacenamiento estructurado OLE utilizado.
Python Excelerator también se encarga de esta tarea. http://ghantoos.org/2007/10/25/python-pyexcelerator-small-howto/
También está disponible en Debian y Ubuntu: Biblioteca XLRD
sudo apt-get install python-excelerator
Python puede mejor solución para este problema
import xlrd
para abrir un libro
workbook = xlrd.open_workbook('your_file_name.xlsx')
hoja abierta por nombre
worksheet = workbook.sheet_by_name('Name of the Sheet')
hoja abierta por el índice
worksheet = workbook.sheet_by_index(0)
leer valor de la celda
worksheet.cell(0, 0).value
Uso de los pandas:
import pandas as pd
xls = pd.ExcelFile("yourfilename.xls")
sheetX = xls.parse(2) #2 is the sheet number
var1 = sheetX['ColumnName']
print(var1[1]) #1 is the row number...
posible duplicado de [qué biblioteca debería usar para escribir un XLS desde Linux/Python?] (Http://stackoverflow.com/questions/245225/which-library-should-i-use-to-write-an-xls-from-linux-pyt hon) – voyager
@voyager: quiere LEER archivos no escribirlos –