小编Emr*_*mre的帖子

Ruby - CSV的哈希数组

我已经收集了一些数据并将其保存为以下形式的哈希数组:

info = [
  {'Name' => 'Alex', 'Tel' => 999, 'E-mail' => "bla@bla.com"},
  {'Name' => 'Ali', 'Tel' => 995, 'E-mail' => "ali@bla.com"}
  # ...
]
Run Code Online (Sandbox Code Playgroud)

但并非所有信息都始终存在:

{'Name' => 'GuyWithNoTelephone', 'E-mail' => "poor@bla.com"}
Run Code Online (Sandbox Code Playgroud)

我想将此信息转换为CSV文件.这是我尝试过的:

def to_csv (info)
  CSV.open("sm-data.csv", "wb") do |csv|
  csv << ["Name", "Tel", "E-mail"]
    info.each do |person|
      csv << person.values
Run Code Online (Sandbox Code Playgroud)

当我尝试这个时,表的格式不正确,并且如果缺少电话号码,那么该人的电子邮件将出现在电话栏中.

如何有选择地将此信息写入CSV文件,即如果缺少值,如何跳过列?

ruby csv arrays hash

1
推荐指数
1
解决办法
1066
查看次数

标签 统计

arrays ×1

csv ×1

hash ×1

ruby ×1