私は今週末にRubyを学び始めました。私は、DateフィールドとTimeフィールドを持つCSVファイルを読み込み、出力に書き込まれた新しいDateTime
フィールドに値をマージするスクリプトを作成しています。Ruby- CSVのマージフィールド値
私が持っているものは部分的には動作していますが、問題はカンマで区切られた日付と時刻の値です。私はカンマを削除し、スペースで置き換えたいと思います。カンマを削除して値をマージするにはどうすればよいですか?
require 'csv'
CSV.open("output.csv", "wb", :headers => true) do |output|
CSV.foreach("input.csv", :headers => true, :return_headers => true) do |row|
if row.header_row?
output << (row << 'DateTime')
else
output << (row << row['Date'].to_s << (row['Time'].to_s))
end
end
end
CSVヘッダーとCSVのレコードの最初の行を表示することができます。 –
ファイルを 'wb'モードで開く必要はありません。 'b'はバイナリを意味し、バイナリファイルではなくテキストファイルを作成しています。これはUnixに違いはないかもしれませんが、読者には「バイナリファイルになる」と言われているので、移植性がなく、一般的に悪い習慣です。 –