我有以下代码将我的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")
你需要使用#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