我目前有一个单列csv文件,如:["firstname lastname", "firstname lastname", ...]
我想创建一个csv文件,例如作为名字的第一个字母的["f.lastname", "f.lastname"...]f
你知道我该怎么做吗?
更新
好吧,好吧,我觉得我离你们很近了,这是我到目前为止得到的:

  require 'csv'
  filename = CSV.read("mails.csv")
  mails = []
  CSV.foreach(filename) do |col|
   mails << filename.map { |n| n.sub(/\A(\w)\w* (\w+)\z/, '\1. \2') }
  end
  puts mails.to_s

但我还是有个错误。
更新2
好的,这很好:
require 'csv'
mails = []
CSV.foreach('mails.csv', :headers => false) do |row|
  mails << row.map(&:split).map{|f,l| "#{f[0]}.#{l}@mail.com" }
end
File.open("mails_final.csv", 'w') {|f| f.puts mails }
puts mails.to_s

非常感谢你们;)

最佳答案

不使用正则表达式的解决方案:

ary = ["firstname lastname", "firstname lastname"]
ary.map(&:split).map{|f, l| "#{f[0]}. #{l}" }
#=> ["f. lastname", "f. lastname"]

10-07 22:35