读取在S3亚马逊中上传的CSV文件

时间:2019-06-13 18:21:37

标签: ruby-on-rails ruby amazon-s3

我有一个问题,我在亚马逊上载了一个文件,可以获取url和亚马逊密钥文件,但是当我尝试使用以下方法在我的模型中读取文件时 CSV.read(file_path,标头:true) 我收到错误消息:没有这样的文件或目录@ rb_sysopen,我该怎么做才能读取文件?

1 个答案:

答案 0 :(得分:1)

CSV.read()需要文件为本地磁盘文件名,文件句柄或IO对象,但您的Amazon密钥文件或URL并非其中之一。

您可能需要将内容下载到文件(或Tempfile)中,然后使用类似的内容进行读取:

require 'open-uri' # gives us the `open()` method in this namespace

open(amazon_url) do |file|
  CSV.read(file, headers: true) do |csv|
    # do something with csv data here
  end
end