【发布时间】:2016-06-29 06:58:47
【问题描述】:
我正在解析一个 CSV 文件并将每个元素转换为 UTF-8:
CSV.foreach(@data_source, { :col_sep => ';' , quote_char: "\x00", :encoding => "CP850"}) do |row|
row.map! {|x| x.force_encoding('UTF-8') unless x.nil? ; x.scrub!("") unless x.nil? ; x.delete('\u2FEC') unless x.nil? }
end
脚本然后进行大量计算,然后使用axlsx gem 以xlsx 格式保存数据。
我添加了x.delete('\u2FEC') unless x.nil?,因为我发现在源文件中,有这个奇怪的序列后来导致Excel中出现“不可读的内容”错误。
我发现它解决了“不可读的内容”问题但是它不仅删除了"\u2FEC" 序列,还删除了每个出现的字符"2"。
你知道我怎样才能摆脱only "\u2FEC" 而不是我行中的每个"2" 吗?
谢谢。
【问题讨论】:
-
你为什么在这个问题的其他部分写
'\u2FEC'和delete,同时写"\u2FEC"?您的问题源于这种草率。