如何将文本文件拆分为数组Ruby中的两列

时间:2013-10-28 12:16:38

标签: ruby arrays split

我的.txt文件包含“name”和“value”(John Anderson,54),我想把它“拆分”为2列数组。我用哈希做了它,但我不知道怎么用数组做。 这就是我用hash做的。

def initialize(file)
  @file_data ={|h,k|}
  File.open(file) do |file|
    file.each_line do |line|
      line_data = line.split(",")
      @file_data[line_data[0]]= line_data[1].to_i
    end
  end
end

3 个答案:

答案 0 :(得分:2)

您可以使用Ruby的CSV类。默认列分隔符为,,因此这应该有效:

require 'csv'

def initialize(file)
  @file_data = CSV.read(file)
end

答案 1 :(得分:0)

CSV模块可能是要走的路,或者可能是:

def read_data(file)
  File.read(file).lines.map{|line| line.chomp.split(', ')}
end

my_array_of_values = read_data(path_to_file)

答案 2 :(得分:0)

这就是我所做的工作。

需要'CSV'

column0=[]
column1=[]
CSV.foreach("test.txt") do |row|
    column0 << row[0]
    column1 << row[1]
    end

print column1
print column0