【问题标题】:Ruby array of arrays and the map methodRuby 数组数组和 map 方法
【发布时间】:2012-09-20 11:08:06
【问题描述】:

我从一个 CSV 文件开始,我将其读入一个 CSV::Table,有 104 列,并希望将其过滤为三列:

filtered_data = csv.map { |row| row.fields(:x,:y:,:z) }

然后我想将x 从纪元时间转换为常规格林威治标准时间。我是这样做的:

filtered_data.each do |thing|
  thing[0] = Time.at(thing[0]).to_datetime
end

因此产生:

[[converted_x, y,z],[converted_x, y, z]] 

还有其他方法可以使用 map 函数吗?或者这是首选的解决方案?


使用杰里米的答案,我现在有:

filtered_data.map { |x,y,z| [Time.at(x).to_datetime,y,z] } 

然后使用reject进一步过滤:

filtered_data.reject { |x,y,z| [x,y, z == '\\ '] }

【问题讨论】:

    标签: ruby arrays map


    【解决方案1】:
    filtered_data.map do |x, y, z|
      [Time.at(x).to_datetime, y, z]
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-12
      • 2016-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多