Biblioteca Ruby gratuita para analizar archivos grandes de Excel XLSX de forma remota
Una poderosa biblioteca Ruby de código abierto para analizar archivos grandes de Excel XLSX y XLSM de forma remota. Soporta el análisis de archivos e imágenes remotas, mapeo de encabezados, etc.
¿Qué es la biblioteca Creek?
En el mundo del procesamiento de datos, manejar archivos Excel grandes puede ser una tarea abrumadora, a menudo provocando cuellos de botella de rendimiento y alto consumo de memoria. Aquí entra Creek, una poderosa biblioteca Ruby de código abierto diseñada para analizar archivos Excel grandes con una eficiencia notable. Es una herramienta eficaz para el análisis de archivos Excel grandes. Detalla características clave como el análisis por flujo, soporte para varios tipos de archivos y opciones de uso flexibles tanto en scripts independientes como en aplicaciones Rails. Proporcionó soporte completo para operaciones básicas, análisis de imágenes y manejo de archivos remotos, convirtiéndose en un recurso valioso para desarrolladores que buscan optimizar sus flujos de trabajo de procesamiento de datos.
Creek es una biblioteca robusta, eficiente y enfocada de código abierto para analizar archivos Excel .xlsx / .xlsm en Ruby. Es una gema Ruby que ofrece una forma rápida y sencilla de leer y analizar archivos Excel grandes (XLSX y XLSM). Utiliza análisis por flujo, lo que significa que lee el archivo pieza por pieza en lugar de cargar todo el archivo en la memoria. Este enfoque hace que Creek sea increíblemente eficiente en memoria y ideal para aplicaciones que manejan conjuntos de datos masivos. Ya sea que estés trabajando en un script Ruby independiente o en una aplicación Rails, Creek ofrece una experiencia de integración sin problemas. Si tu proyecto implica hojas de cálculo grandes, imágenes, metadatos o cargas de archivos en Rails, Creek brinda mucha funcionalidad necesaria con una sobrecarga mínima.
Comenzando con Creek
La forma recomendada de instalar la biblioteca Creek es usar RubyGems. Por favor, usa el siguiente comando para una instalación sin problemas.
Instalar Creek vía RubyGems
$ gem install Creek Analizando archivos grandes de Excel con Ruby
La piedra angular de la biblioteca de código abierto Creek es su capacidad de análisis de flujo. Esta característica le permite procesar archivos de Excel grandes sin preocuparse por sobrecargas de memoria. Al leer el archivo en fragmentos, Creek garantiza que su aplicación siga siendo receptiva y estable, incluso al manejar archivos con cientos de miles de filas. El caso de uso más común es abrir un archivo y leer los datos de sus hojas de cálculo. Aquí hay un ejemplo sencillo que muestra cómo los desarrolladores pueden analizar un archivo de Excel mediante la biblioteca Ruby.
¿Cómo analizar archivos Excel XLSX grandes mediante la biblioteca Ruby?
require 'creek'
# Open the Excel file
creek = Creek::Book.new 'path/to/your/sample.xlsx'
# Get the first sheet
sheet = creek.sheets[0]
# Loop through rows with cell coordinates
sheet.rows.each do |row|
puts row
# => {"A1"=>"Content 1", "B1"=>nil, "C1"=>"Content 2"}
end
# Loop through rows without cell coordinates
sheet.simple_rows.each do |row|
puts row
# => {"A"=>"Content 1", "B"=>nil, "C"=>"Content 2"}
End
Análisis y extracción de imágenes con la biblioteca Ruby
Aunque no está habilitada de forma predeterminada para conservar la memoria, la biblioteca Creek puede analizar imágenes de sus archivos de Excel. Usando el método with_images, puede precargar y extraer imágenes de las celdas. Las imágenes se devuelven como una matriz de objetos Pathname, lo que facilita su manipulación. Aquí hay un ejemplo sencillo que muestra cómo los desarrolladores pueden analizar y extraer imágenes de una hoja de cálculo de Excel mediante la biblioteca Ruby.
¿Cómo analizar y extraer imágenes de una hoja de cálculo Excel mediante la biblioteca Ruby?
require 'creek'
book = Creek::Book.new 'presentation.xlsx'
sheet = book.sheets.first
sheet.with_images.rows.each do |row|
row.each do |coord, value|
if value.is_a?(Array)
# this cell has images
puts "Images at #{coord}: #{value.inspect}"
else
puts "#{coord}: #{value}"
end
end
end
# Images at a specific cell
images = sheet.images_at('B2')
if images
images.each do |path|
puts "Found image file: #{path}"
end
else
puts "No image at B2"
end
Análisis de archivos remotos con la biblioteca Ruby
¿Necesita analizar un archivo de Excel desde una URL? La biblioteca Creek lo cubre. Al establecer la opción remote: true, puede analizar archivos directamente desde un servidor remoto, eliminando la necesidad de descargarlos primero. Puede analizar archivos desde URLs o rutas incluso si no tienen extensiones .xlsx o .xlsm. La verificación de la extensión se puede omitir. El argumento check_file_extension puede proporcionarse para evitar la imposición de la extensión. Aquí hay un ejemplo sencillo para analizar archivos de Excel de forma remota mediante la biblioteca Ruby.
¿Cómo analizar un archivo Excel XLSX de forma remota mediante la biblioteca Ruby?
remote_url = 'http://example.com/sample.xlsx'
creek = Creek::Book.new remote_url, remote: true
# ... process the file
Análisis de archivos XLSX y XLSM con Ruby
La biblioteca Ruby de código abierto Creek admite tanto los formatos estándar XLSX como los archivos XLSM con macros, brindando flexibilidad para varios casos de uso. Esto asegura que pueda manejar una amplia gama de archivos de Excel sin necesidad de múltiples bibliotecas.