Создать метки времени в CSV-файлах (код ruby) - PullRequest
0 голосов
/ 09 октября 2019

Я запускаю скрипт загрузки транзакций через Ruby. Мне было интересно, можно ли пометить каждый файл .csv, который он создает, с текущей датой / временем запуска скрипта. Ниже приведен конец сценария.

CSV.open("transaction_report.csv", "w") do |csv|
  csv << header_row
  search_results.each do |transaction|
    transaction_details_row = header_row.map{ |attribute| transaction.send(attribute) }
    csv << transaction_details_row
  end
end

1 Ответ

0 голосов
/ 09 октября 2019

Как это?

CSV.open("transaction_report-#{Time.now}.csv", "w") do |csv|
  csv << header_row
  search_results.each do |transaction|
    transaction_details_row = header_row.map{ |attribute| transaction.send(attribute) }
    csv << transaction_details_row
  end
end

Это просто добавляет время генерации к имени файла. Например:

"transaction_report-#{Time.now}.csv"
# => "transaction_report-2019-10-10 16:09:07 +0100.csv"

Если вы хотите избежать пробелов в имени файла, вы можете использовать их следующим образом:

"transaction_report-#{Time.now.to_s.gsub(/\s/, '-')}.csv"
# => "transaction_report-2019-10-10-16:09:40-+0100.csv"

Это то, что вы ищете? Это звучит правильно в зависимости от вопроса, но с удовольствием обновлю, если вы сможете исправить меня:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...