Рельсы FTP OPEN CSV - PullRequest
       2

Рельсы FTP OPEN CSV

0 голосов
/ 30 августа 2018

У меня есть следующий код для подключения моего приложения 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")

1 Ответ

0 голосов
/ 30 августа 2018

Вам нужно будет использовать # 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...