Un script bastante sencillo para pasar una tabla HTML a un CSV. Quizás usar nokogiri estuvo de más, pero fue lo primero que me vino a la cabeza.

# Uso:
# htable2csv.rb transacciones.html table.transaccion transacciones.csv 

require 'nokogiri'
require 'csv'

html_filepath = ARGV[0]
table_selector = ARGV[1]
output_file = ARGV[2]

html = File.open(html_filepath, 'r')

doc = Nokogiri::HTML(html.read)

html.close

CSV.open(output_file, "wb") do |data|
 doc.at(table_selector).search('tr').each do |tr|
    tds = tr.search('td').map(&:text)
    tds.last.gsub! "\n", '' # por si acaso
    data << tds
  end
end


blog comments powered by Disqus

Published

08 June 2014