Ruby 数组数组和 map 方法

标签 ruby arrays dictionary

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

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

然后我想将 x 从纪元时间转换为常规 GMT。我这样做是使用:

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] } 

然后使用拒绝进一步过滤:

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

最佳答案

filtered_data.map do |x, y, z|
  [Time.at(x).to_datetime, y, z]
end

关于Ruby 数组数组和 map 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12642133/

相关文章:

ruby /生成器 API : create XML without using blocks

ruby-on-rails - Ruby 2.2 在 Heroku 上有内存问题吗?

ruby - 返回当前类的一个实例

c - 高效地对 int 数组进行位移?

python - 查找给定值的所有键

python - Stackplot 使用字典值列表 (Python 3.x)

ruby - 有什么标准方法可以定义对象使用库所需的方法吗? (很像一个界面)

javascript - 如何在 JavaScript 中使用从 csv 文件加载的数据?

java - 我如何在java中读取多行文本,行与行之间有空格

python - 如何在 Python 中将列表字典格式化为表格?