2013-10-28 39 views
0

我有.txt文件由「name」和「value」組成(John Anderson,54),我希望將它分成2列數組。我做了一個哈希,但我不知道如何與數組做。 這就是我用哈希做到的。如何將txt文件拆分爲數組中的兩個柱子Ruby

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 
+1

剛剛使用CSV模塊。文檔:http://ruby-doc.org/stdlib-2.0/libdoc/csv/rdoc/CSV.html –

+1

您期望的輸出是什麼? [[name1,age1],[name2,age2] ...]? –

+0

是的,除了[[name1,age1],[name2,age2] ...] – user2871450

回答

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

您可以使用Ruby的CSV類。默認的列分隔符是,,所以這應該工作:

require 'csv' 

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

這是我做的工作。

需要 'CSV'

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

print column1 
print column0 
相關問題