gpt4 book ai didi

ruby - 如何修改 ruby​​ 中现有的 csv 列?

转载 作者:行者123 更新时间:2023-12-03 09:11:52 25 4
gpt4 key购买 nike

我有一个 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

最佳答案

row[:images] ||= "im1"

如果该行的images单元格为空,则将其设置为“im1”

如果您想使用更新的单元格编写新的 CSV 文件,您可以使用:

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

使用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。 csvdata.csv

我不会就地编写data.csv。如果出现任何问题,您就会丢失数据。

关于ruby - 如何修改 ruby​​ 中现有的 csv 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41867361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com