csvのセル内に改行があるとExcelで開けないという闇がある.
ってかそもそも扱いづらくなる.
正規表現使ってテキスト処理?
めんどいよね
Rubyでサクッとスクリプト書いて加工しよう!
class CSV
つかえばよか
require 'csv'
FILEPATH = ARGV[0]
exit 0 if FILEPATH.nil?
# 一回全部読む
arr = CSV.read(FILEPATH)
# 改行をホワイトスペースに変換
arr.each do |a|
# /\R/はかなり力強い解法 /(\r\n|\r)/がもっと正確
a.each { |r| r.gsub!(/\R/, " ") unless r.nil? }
end
# 書き換えするお
CSV.open(FILEPATH, "w") do |csv|
i = 1
length = arr.length
arr.each do |a|
csv << a
puts "#{i}/#{length}"
i += 1
end
end
これでなんとかなる.