ruby-on-rails – 此代码能够从文件系统读取CSV文件但是从URL读取怎么办?

我写了这个rake任务,使我能够从我的应用程序的本地文件系统上的文件中读取csv文件,但是如何调整它以使其从URL读取文件?

desc "This class will read a csv file and display its contents on the screen"

 task :read_csv => :environment do |t, args|
 require "csv"

 csv_text = File.read('someFile.csv')
 csv = CSV.parse(csv_text, :headers=>true)
 csv.each do |row|
   puts row
 end
end

如果有人可以帮助我使用代码或一些当前链接,将不胜感激.我发现的大多数链接都是以前版本的rails,其中FasterCSV不是ruby的一部分.

谢谢

最佳答案
那么使用NET :: HTTP呢?

desc "This class will read a csv file from url and display its contents on the screen"

  task :read_csv => :environment do |t, args|
  require "csv"
  require 'net/http'

  uri = URI('http://www.xxx.ccc.xxx.ca/~xxx/xxx.csv')
  csv_text = Net::HTTP.get(uri)
  csv = CSV.parse(csv_text, :headers=>true)
  csv.each do |row|
    puts row
  end
end

这只是一个小小的调整,只是从网址获取它而没有https,但你明白了,对吧? 🙂

转载注明原文:ruby-on-rails – 此代码能够从文件系统读取CSV文件但是从URL读取怎么办? - 代码日志