Безкоштовна бібліотека Ruby для віддаленого парсингу великих файлів Excel XLSX
Потужна відкрито‑джерельна бібліотека Ruby для віддаленого парсингу великих файлів Excel XLSX та XLSM. Підтримує парсинг віддалених файлів і зображень, мапування заголовків тощо.
Що таке бібліотека Creek?
У світі обробки даних робота з великими файлами Excel може бути складним завданням, яке часто призводить до вузьких місць у продуктивності та високого споживання пам’яті. Представляємо Creek — потужну відкриту Ruby‑бібліотеку, створену для розбору великих файлів Excel з вражаючою ефективністю. Це ефективний інструмент для розбору великих файлів Excel. В ній детально описані ключові функції, такі як потоковий розбір, підтримка різних типів файлів та гнучкі варіанти використання як у самостійних скриптах, так і у додатках Rails. Вона забезпечує повну підтримку базових операцій, розбору зображень і роботи з віддаленими файлами, що робить її цінним ресурсом для розробників, які прагнуть оптимізувати свої процеси обробки даних.
Creek — це надійна, ефективна і сфокусована відкрито‑джерельна бібліотека для розбору файлів .xlsx/.xlsm у Ruby. Це Ruby‑gem, який забезпечує швидкий і простий спосіб читати й розбирати великі файли Excel (XLSX і XLSM). Вона використовує потоковий розбір, що означає, що файл читається частина за частиною, а не завантажується повністю в пам’ять. Такий підхід робить Creek надзвичайно економічним у використанні пам’яті і ідеальним для застосунків, що працюють з величезними наборами даних. Чи то самостійний Ruby‑скрипт, чи додаток Rails, Creek забезпечує безшовну інтеграцію. Якщо ваш проект включає великі електронні таблиці, зображення, метадані або завантаження файлів у Rails, Creek пропонує багато необхідного функціоналу з мінімальними накладними витратами.
Початок роботи з Creek
Рекомендований спосіб встановлення бібліотеки Creek — використання RubyGems. Будь ласка, використайте наведений нижче код, щоб встановити без проблем.
Встановити Creek через RubyGems
$ gem install Creek Парсинг великих файлів Excel за допомогою Ruby
Основою відкритої бібліотеки Creek є можливість потокового розбору. Ця функція дозволяє обробляти великі файли Excel без занепокоєння надмірним споживанням пам'яті. Читаючи файл по шматках, Creek забезпечує стабільну роботу вашого застосунку навіть при обробці файлів із сотнями тисяч рядків. Найпоширеніший випадок використання — це відкриття файлу та читання даних з його листів. Ось простий приклад, що демонструє, як розробники можуть розбирати файл Excel за допомогою бібліотеки Ruby.
Як розбирати великі файли Excel XLSX за допомогою 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
Парсинг та вилучення зображень за допомогою бібліотеки Ruby
Хоча за замовчуванням ця функція не ввімкнена для економії пам'яті, бібліотека Creek може розбирати зображення з ваших файлів Excel. За допомогою методу with_images ви можете попередньо завантажити та витягти зображення з клітинок. Зображення повертаються у вигляді масиву об’єктів Pathname, що спрощує їх використання. Ось простий приклад, який демонструє, як розробники можуть розбирати та витягати зображення з електронної таблиці Excel за допомогою бібліотеки Ruby.
Як розбирати та вилучати зображення з листа Excel за допомогою 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
Віддалений парсинг файлів за допомогою бібліотеки Ruby
Потрібно розібрати файл Excel з URL? Бібліотека Creek готова допомогти. Встановивши параметр remote: true, ви можете розбирати файли безпосередньо з віддаленого сервера, усуваючи необхідність їх попереднього завантаження. Ви можете розбирати файли з URL‑адрес або шляхів навіть без розширень .xlsx чи .xlsm. Перевірку розширення можна пропустити. Параметр check_file_extension можна задати, щоб обійти вимогу щодо розширення. Ось простий приклад розбору Excel‑файлів віддалено за допомогою бібліотеки Ruby.
Як розбирати файл Excel XLSX віддалено за допомогою Ruby‑бібліотеки?
remote_url = 'http://example.com/sample.xlsx'
creek = Creek::Book.new remote_url, remote: true
# ... process the file
Парсинг файлів XLSX і XLSM за допомогою Ruby
Відкрита бібліотека Ruby Creek підтримує як стандартний формат XLSX, так і макрос‑включений формат XLSM, забезпечуючи гнучкість для різних випадків використання. Це гарантує, що ви зможете працювати з широким спектром файлів Excel без потреби в декількох бібліотеках.