ruby-on-rails - 在 CSV 中用双引号写入字符串的问题
问题描述
我将使用csv gem 在 CSV 中用双引号写一个字符串。
CSV.open(source_filename, "wb") do |csv|
csv << ["NAME", "AGE"]
csv << ["Oleg", 15]
end
结果是
NAME,AGE
Oleg,15
我想写的是
NAME,AGE
"Oleg","15"
有没有这样写的方法?
解决方案
如果您不想在值中使用文字引号,而只是想用引号将所有值包装起来,您可以通过设置force_quotes
选项来做到这一点:
csv = CSV.generate(force_quotes: true) do |csv|
csv << ["NAME", "AGE"]
csv << ["Oleg", 15]
end
puts csv
印刷:
"NAME","AGE"
"Oleg","15"
我generate
在此答案中使用以简化复制/粘贴代码。您可以使用与 相同的选项open
。这便成为CSV.open(source_filename, "wb", force_quotes: true)
。
但是,当 CSV 实现读取上述内容时,引号将不是值的一部分。tadman的回答进一步解释了这一点。
推荐阅读
- android - 如何使“计数”不断增加而“计数”又不从 0 开始
- flyway - Flyway:执行单个oracle sql文件
- rust - clap 默认值 - 如何使用它
- python - 我想在 Python 中单击 Selenium 中的下载按钮
- swift - 为什么我的表格视图不显示任何内容。它具有正确的行数,但没有文本。数据已填充到不同的视图控制器(xcode
- r - 作为函数参数传递时对 data.table 的更新
- arrays - 在 Mongoose 中的另一个数组的对象中查找数组中的字段
- css - css表单元素对齐问题
- python - 使用侦听器事件在同一个 cog 中调用函数,使用 discord.py
- c# - Chrome Devtools 协议和发布