=remote_table
Open local or remote XLSX, XLS, ODS, CSV and fixed-width files.
==Real-life usage
Used by data_miner (http://github.com/seamusabshere/data_miner)
==Example
Taken from #{GEMDIR}/test/test_remote_table.rb:
should "open an XLSX" do
t = RemoteTable.new 'www.customerreferenceprogram.org/uploads/CRP_RFP_template.xlsx'
assert_equal "Secure encryption of all data", t[5]["Requirements"]
end
or on the console
?> t = RemoteTable.new 'http://www.fueleconomy.gov/FEG/epadata/98guide6.zip', 'filename' => '98guide6.csv'
=> #
?> t[0]
=> {"cyl"=>"6", "eng dscr"=>"DOHC VTEC", "trans dscr"=>"2MODE CLKUP", "trans"=>"Auto(L4)", "cmb"=>"20", "2pv"=>nil, "carline name"=>"NSX", "displ"=>"3.0", "ucmb"=>"23.5311", "hpv"=>nil, "4pv"=>nil, "Class"=>"TWO SEATERS", "Manufacturer"=>"ACURA", "fl"=>"P", "2lv"=>nil, "G"=>nil, "hlv"=>nil, "drv"=>"R", "cty"=>"18", "ucty"=>"19.8733", "S"=>nil, "4lv"=>nil, "fcost"=>"1050", "T"=>nil, "hwy"=>"24", "uhwy"=>"30.3612"}
See the test file and also data_miner examples of custom parsers.
==Wishlist
* The new parser syntax (aka transformer) hasn't been defined yet... only the old-style syntax is available
* We currently call curl (and a lot of other utilities) using a shell. Is there a safer way to do this?
* Row hashes may come out differently for Ruby 1.8 and Ruby 1.9, which ruins the whole purpose.
* Since Enumerable provides #to_a, I'm not sure if it's caching the row loading.
==Authors
* Seamus Abshere
* Andy Rossmeissl
== Copyright
Copyright (c) 2011 Brighter Planet. See LICENSE for details.