我尝试过谷歌搜索,但我只能找到其他语言的解决方案,关于Ruby的解决方案是针对CSV文件的。
我有一个看起来像这样的文本文件
0.222222 0.333333 0.4444444这是第一行。
有许多行采用相同的格式。所有数字都是浮点数。
我希望能够只读取第三列数据(0.444444,其下的值)并忽略其余数据。如何实现这一目标?
答案 0 :(得分:1)
您仍然可以使用CSV;只需将列分隔符设置为空格字符:
require 'csv'
CSV.open('data', :col_sep=>" ").each do |row|
puts row[2].to_f
end
但是,您不需要CSV,如果分隔字段的空格不一致,这是最简单的:
File.readlines('data').each do |line|
puts line.split[2].to_f
end
我建议在心理上将任务分解为:
这两个问题很容易学会处理。