Rails FTP OPEN CSV

问题描述 投票:0回答:1

我有以下代码将我的rails应用程序连接到我的FTP。这非常有效。但是,我想使用open-uri打开csv文件,以便我可以解析它。任何想法如何做到这一点?我觉得这很容易,但是我错过了一些东西。

    require 'net/ftp'
    ftp = Net::FTP.new
    ftp.connect("xxx.xxx.xx.xxx",21)
    ftp.login("xxxxx","xxxx")
    ftp.chdir("/")
    ftp.passive = true
    puts ftp.list("TEST.csv")
ruby-on-rails ruby ftp
1个回答
0
投票

你需要使用#gettextfile

A)将文件获取到本地临时文件并读取其内容

# Creating a tmp file can be done differently as well.
# It may also be omitted, in which case `gettextfile`
# will create a file in the current directory.
Dir::Tmpname.create(['TEST', ['.csv']) do |file_name|
  ftp.gettextfile('TEST.csv', file_name)
  content = File.read(file_name)
end

B)将一个块传递给gettextfile并一次获取一行内容

  content = ''
  ftp.gettextfile('TEST.csv') do |line|
    content << line
  end
© www.soinside.com 2019 - 2024. All rights reserved.