次のような状況で:
FasterCSV.parse(uploaded_file) do |row|
@rows[i] = row
i += 1
break row if i == 10
end
FasterCSV はファイル全体を読み取りますか、それとも最初の 10 行のみを読み取りますか? CSV ファイルの最初の数行を表示したいのですが、ファイル全体をメモリに保存したくありません。これは可能ですか?
FasterCSV を使用して、一度に 1 行ずつファイルを解析できます。
FasterCSVのドキュメントから:
A Line at a Time
FasterCSV.foreach("path/to/file.csv") do |row|
# use row here...
end
All at Once
arr_of_arrs = FasterCSV.read("path/to/file.csv")
(注: あなたの質問では、文字列を CSV に解析するためだけに使用される FasterCSV.parse を使用しています。ファイルを使用したいので、.foreach メソッドと .parse メソッドを見てください。あなた。)。