我正在使用ruby 2.0.0和rails 4.0.0。我有一些與此類似:ruby net-sftp按行讀取文件
require 'net/sftp'
sftp = Net::SFTP.start('ftp.app.com','username', :password => 'password')
sftp.file.open("/path/to/remote/file.csv", "r") do |f|
puts f.gets
end
這將打開FTP站點的文件,但只有puts
它CSV文件的第一行。我需要逐行閱讀這個文件,最好忽略頭文件。
如何在不本地下載文件的情況下逐行讀取文件?
data = sftp.download!("/path/to/remote/file.csv").split(/\r\n/)
data.each do |line|
puts line
end
您的解決方案似乎不符合您的要求「無需下載文件?」 – meagar
我編輯我的問題添加「本地」。這種方法只是將文件下載到內存中,所以沒有必須存儲的文件的物理副本。 – Luigi