基本上我只是試圖通過帶有unix時間戳的csv進行篩選,並且不知道在查看本網站上的其他解決方案時發生了什麼問題。在Unix中將Unix Timestamp轉換爲標準時間,但在控制檯中出現奇怪錯誤
錯誤
csv_parsing.rb:13
:在`在':不能轉換成字符串的確切數量(類型錯誤)
我unix_timestamps_array變量是unix的時間戳例如構成字符串的數組「1237178109」但不想附加csv。我可以確認,在7之前,我得到了終端中unix時間戳的數組。
require 'csv'
require 'date'
csv = CSV.read('sample_data.csv', headers: true)
unix_time_str_array = csv['created_at']
unix_time_int_array = unix_time_str_array.map {|e| e.to_i }
converted_time = unix_time_int_array.each {|timestamp| Time.at(timestamp)}
p converted_time
注意到我知道Time.now,但是這因爲我正在讀的有點不同從文件等 – cristodagama
nvm案件關閉。 #每個需要#map來獲取utc時間。也許有人可以解釋細微差別?我知道每個迭代遍歷數組中的每個元素,並且是循環的ruby方式,map將塊的邏輯應用到數組的每個元素並輸出一個新數組。爲什麼沒有第一個案件工作? – cristodagama
儘管在塊中發生了什麼,每個都會返回最初的集合,而'map'返回修改後的集合 –