大きなテキストファイルを処理
テキストファイルの処理を
File.open("hoge.csv","r").each{|row| row.gsub!(/\s+/,",") result << "\n" } result = File.open("piyo.csv","w") result.close
って感じでスクリプトを書いたらメモリに納まらなくなった.File.openで1行ずつよみこんで,1行ずつ結果を格納していくためっぽい.
なので,
result = File.open("piyo.csv","w") File.open("hoge.csv","r").each{|row| row.gsub!(/\s+/,",") result << "\n" } result.close
という風に書くと解決.Stataではあまりメモリに気を使わないのでハード関係の処理方法はよくわからない.