Что я хочу сделать, так это подсчет количества @ в каждой строке и поместить это значение в полное поле в конце.Подсчет каждой строки и добавление в конец каждой строки в csv
Я имею в виду его виды работ, но это только добавление значения последней строки, на которую он рассчитывает.
Мой Csv
Header,Header,Header
[email protected],Info,Info
Info,[email protected]@,Info
Info,Info,[email protected]@@
Мой код
require "csv"
table = CSV.read("my_test.csv", {
headers: true,
col_sep: ","
})
File.readlines('my_test.csv').each do |line|
table.each do |row|
at_count = line.count('@')
row["Total"] = at_count
end
end
CSV.open("my_test.csv", "w") do |f|
f << table.headers
table.each { | row | f << row }
end
Текущий результат
Header,Header,Header,Total
[email protected],Info,Info,3
Info,[email protected]@,Info,3
Info,Info,[email protected]@@,3
Не забывайте, что Ruby позволяет опустить «{...}» фигурные скобки на хэшах, если этот хэш является последним аргументом. Это уменьшает количество помех в вашем коде. – tadman