Существует ли однострочный способ считывания удаленных файлов CSV с использованием стандартной библиотеки CSV Ruby, или я должен использовать FasterCSV? - PullRequest
0 голосов
/ 13 февраля 2012

Кажется, что ни один из файлов CSV не работает с URI.

Строка за раз:

CSV.foreach("path/to/file.csv") do |row|
  # use row here...
end

Все сразу

arr_of_arrs = CSV.read("path/to/file.csv")"

Ответы [ 3 ]

1 голос
/ 28 мая 2014

небольшое изменение в ответе Эшли решило тот же вопрос, который у меня был

require 'open-uri'
url = "http://somedata.com/file.csv"
csv_data = open(url)
csv_rows = CSV.parse(csv_data.read)
0 голосов
/ 29 января 2013

Возможно, вы захотите попробовать 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.

0 голосов
/ 13 февраля 2012

Это, кажется, работает:

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 }
               )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...