PyExcel
Biblioteca Python de código abierto para hojas de cálculo
Lea, cree, fusione y filtre datos en archivos de hoja de cálculo CSV, ODS, XLS, XLSX y XLSM a través de la API de Python.
PyExcel es una única API de Python de código abierto que admite el trabajo con varios formatos populares de hojas de cálculo. Permite a los programadores de software leer, manipular y escribir datos en formatos de archivo CSV, ODS, XLS, XLSX y XLSM. La API se centró en gran medida en los datos en lugar de los formatos de archivo. La biblioteca ayuda a los desarrolladores web a manejar la mayoría de los formatos de archivo de Excel al proporcionar una interfaz de programación común.
Es muy fácil obtener o exportar datos de archivos de MS Excel. En su mayoría, requiere un código de una sola línea para obtener datos de los archivos de Excel. Solo hay una API para leer y escribir datos en varios formatos de archivo de Excel. Varias funciones importantes son totalmente compatibles con la API, como leer y actualizar datos en una hoja de cálculo, fusionar todos los archivos de Excel en un directorio, dividir el libro de trabajo, extraer hojas de un libro de trabajo, fusionar filas y celdas, diseñar columnas, agregar o eliminar una columna desde una hoja, filtrado de datos y muchos más. La API proporciona una lista de formatos de archivo admitidos por complementos externos. Puede usar pip para agregar o eliminar un complemento.
Primeros pasos con PyExcel
En primer lugar, debe tener Python 2.6 o superior instalado en su sistema. La forma recomendada de instalar es a través de pip. Utilice el siguiente comando.
Instale PyExcel a través del comando PIP
pip install pyexcel
API de Python para trabajar con hojas de cálculo de Excel
PyExcel API permite a los desarrolladores de software acceder, leer, escribir y manipular datos en varios formatos de Excel como CSV, ODS, XLS, XLSX y XLSM. Es muy fácil importar o exportar datos de archivos de Excel utilizando la API de PyExcel. Admite agregar una nueva fila a un archivo existente, actualizar una fila en un archivo existente, agregar o actualizar la columna a un archivo existente, combinar o dividir hojas, buscar datos, convertir archivos de Excel a otros formatos y mucho más.
Añadir Nuevo Row a Existir Archivo de hoja de cálculo vía Python API
import pyexcel as pe
sheet = pe.get_sheet(file_name="example.xls")
sheet.row += [12, 11, 10]
sheet.save_as("new_example.xls")
pe.get_sheet(file_name="new_example.xls")
Combinar y dividir una hoja de cálculo de Excel
PyExcel API brinda al desarrollador la capacidad de fusionar archivos que están dispersos en un directorio en un solo libro de Excel. Cada archivo se convertirá en una hoja dentro de un libro de trabajo. También proporciona funciones para mezclar y combinar con otros formatos de Excel como XLS, CSV, XLSM y ODS. También le facilita dividir un libro de trabajo en varios archivos. Supongamos que tiene un libro que contiene varias hojas de trabajo, al usar la biblioteca PyExcel de código abierto puede separar cada una en un archivo de Excel de una sola hoja.
Ficheros Split Excel a través de Python API
//merge two files into one file
from pyexcel.cookbook import merge_two_files
merge_two_files("example.csv", "example.xls", "output.xls")
//Split a workbook into single sheet files
from pyexcel.cookbook import split_a_book
split_a_book("megabook.xls", "output.xls")
import glob
outputfiles = glob.glob("*_output.xls")
for file in sorted(outputfiles):
print(file)
Filtrado de datos en hojas de cálculo
PyExcel API proporciona funciones para que los desarrolladores filtren datos según sus propias necesidades. Supongamos que tiene una gran cantidad de datos y desea filtrar algunos de ellos. Usando la API puedes hacer eso fácilmente. También admite el filtrado de filas o columnas vacías de una hoja. También puede guardar los datos del filtro en otro archivo.
Cómo filtrar a Ross vacío de Excel Sheet dentro de las aplicaciones de Python
import pyexcel as pe
sheet = pe.Sheet([[1,2,3],['','',''],['','',''],[1,2,3]])
//define filter
def filter_row(row_index, row):
result = [element for element in row if element != '']
return len(result)==0
// Apply filter
del sheet.row[filter_row]