【发布时间】:2021-11-03 17:03:49
【问题描述】:
我在 Ruby 中有一段代码,它基本上通过使用将多行添加到 csv 中
csv_out << listX
我有一个我在 **options 和常规数据中提供的标题。
当我尝试查看 CSV 时遇到问题,主要是所有值都在一行中,并且在我看来,任何软件都无法将 '\n' 识别为行分隔符。
输入示例:
Make, Year, Mileage\n,Ford,2019,10000\nAudi, 2000, 100000
输出尺寸:
8x1 表格
所需尺寸:
3x3 表格
知道如何解决这个问题吗?通过将 '\n' 替换为某些内容或使用 csv.generate 以外的其他内容
csv = CSV.generate(encoding: 'UTF=8') do |csv_out|
csv_out << headers
data.each do |row|
csv_out << row.values
end
【问题讨论】:
-
请发布您的实际代码,而不仅仅是描述它。现在我不清楚您遇到的问题,因为 CSV 文档明确指出列分隔符默认为逗号,行分隔符默认为 :auto(包括“\r\n”、“\n”和“\ r")
-
您如何尝试查看 CSV?你用什么工具?
-
“任何软件都失败了” – 特别是哪个软件? CSV 没有完全标准化,您可能需要调整
col_sep或row_sep。 (或设置软件的导入选项) -
当我尝试复制 csv 变量(这是一个长字符串)并将其保存为 txt 文件时,Excel、Numbers 和 Google Sheets 等软件将其显示为 8x1 尺寸的一行跨度>
-
@ArthurEdelman 也许你从字面上复制那些
\n?尝试File.write("cars.csv", csv)以消除复制粘贴错误。
标签: ruby-on-rails ruby csv export-to-csv