我有一个CSV文件。在csv中,某些字段是空白的。我想用一些值更新这些字段。我试过以下但没有运气。
CSV.foreach("/home/mypc/Desktop/data.csv", { encoding: "UTF-8", headers: true, header_converters: :symbol, converters: :all}).with_index do |row,i|
if row[:images].nil?
row[:images] << ['im1']
end
end
答案 0 :(得分:1)
row[:images] ||= "im1"
如果您的行的images
单元格为空,则会将"im1"
单元格设置为require 'csv'
write_parameters = { write_headers: true, headers: %w(images name) }
read_parameters = { encoding: 'UTF-8',
headers: true,
header_converters: :symbol,
converters: :all }
CSV.open('new_data.csv', 'w+', write_parameters) do |new_csv|
CSV.foreach('data.csv', read_parameters) do |row|
row[:images] ||= 'im1'
new_csv << row
end
end
。
如果要编写包含更新单元格的新CSV文件,可以使用:
data.csv
使用images,name
im2,name2
im3,name3
,name1
im4,name4
im5,
:
new_data.csv
images,name
im2,name2
im3,name3
im1,name1
im4,name4
im5,
变为:
new_data.csv
如果您确定 data.csv
已正确撰写,则可以删除new_data.csv
并将data.csv
重命名为data.csv
。< / p>
我不会写#header, #footer{
display: none;
}
到位。如果出现任何问题,您将丢失数据。