在这样的情况下:
FasterCSV.parse(uploaded_file) do |row|
@rows[i] = row
i += 1
break row if i == 10
end
FasterCSV 是读取整个文件还是仅读取前 10 行?我想显示 CSV 文件的前几行,但不想将整个文件存储在内存中。这可能吗?
您可以使用 FasterCSV 逐行解析文件。
来自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")
(注意:在您的问题中,您使用的是 FasterCSV.parse,它仅用于将字符串解析为 CSV。因为您要使用文件,请查看 .foreach 和 .parse 方法,它们将处理打开和扫描文件以查找你。)。