Кажется, что ни один из файлов CSV не работает с URI.
Строка за раз:
CSV.foreach("path/to/file.csv") do |row| # use row here... end
Все сразу
arr_of_arrs = CSV.read("path/to/file.csv")"
небольшое изменение в ответе Эшли решило тот же вопрос, который у меня был
require 'open-uri' url = "http://somedata.com/file.csv" csv_data = open(url) csv_rows = CSV.parse(csv_data.read)
Возможно, вы захотите попробовать RemoteTable :
t = RemoteTable.new("http://somedata.com/file.csv") t.each do |row| puts row['foo'] end
Он также может читать удаленные XLS, XLSX, Google Docs (электронные таблицы), TSV, XML, HTML и т. Д. Многопримеры есть в README.
Это, кажется, работает:
require 'open-uri' url = "http://somedata.com/file.csv" csv_data = open(url) csv_rows = CSV.read(csv_data.path, { headers: true, converters: :numeric, header_converters: :symbol } )