【发布时间】:2011-09-26 11:34:35
【问题描述】:
我正在使用 ruby 1.8.7,rails 2.3.8。我想解析由制表符分隔的 TXT 转储文件中的数据。
在这个 TXT 转储中包含一些 CSS 属性,看起来有一些无效数据。
当使用 FasterCSV gem 运行我的代码时
FasterCSV.foreach(txt_file, :quote_char => '"',:col_sep =>'\t', :row_sep =>:auto, :headers => :first_row) do |row|
col= row.to_s.split(/\t/)
puts col[15]
end
在控制台中写为“第 38 行非法引用”的错误。谁能建议我如何跳过包含无效数据的行并继续剩余行的数据加载过程?
【问题讨论】:
-
顺便说一下,
'\t'和"\t"不一样——你想使用带有转义字符的双引号。 -
应该是
"\t"(双引号),那么就不用col = row.to_s.split(/\t/)了。
标签: ruby-on-rails ruby csv fastercsv