我想在csv行中读取,更新一个字段然后再用引号输出该行.
Row Example Input => "Joe", "Blow", "joe@blow.com"
Desired Row Example Output => "Joe", "Blow", "xxxx@xxxx.xxx"
My script below outputs => Joe, Blow, xxxx@xxxx.xxx
Run Code Online (Sandbox Code Playgroud)
它丢失了我想保留的双引号.
我尝试过各种各样的选择但到目前为止没有任何快乐......任何提示?
非常感谢!
require 'csv'
CSV.foreach('transactions.csv',
:quote_char=>'"',
:col_sep =>",",
:headers => true,
:header_converters => :symbol ) do |row|
row[:customer_email] = 'xxxx@xxxx.xxx'
puts row
end
Run Code Online (Sandbox Code Playgroud)
除非字段本身包含分隔符或换行符,否则CSV字段中的引号通常是不必要的.但您可以强制CSV文件始终使用引号.为此,您需要设置force_quotes => true:
CSV.foreach('transactions.csv',
:quote_char=>'"',
:col_sep =>",",
:headers => true,
:force_quotes => true,
:header_converters => :symbol ) do |row|
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11176 次 |
| 最近记录: |