Добавьте столбец с той же ключевой функцией в CSV-файл
Столбцы, включающие два ключевых признака, один столбец для суммирования и некоторые другие (например,1) столбец, который не важен.
key1, key 2, pr, trivial
abc, 43, 23, haha
abc, 43, 456, hok
bcd, 23, 89,kol
Я хочу добавить столбец суммы с тем же ключом key1 и key2 и вывести файл csv с 3 столбцами.
key1, key2, sumvalueofpr
в приведенном выше случае это
key1, key2, sumvalueofpr
abc , 43, 479
bdc, 23, 89
(нота: 479=23+456
)
Работать с командой Perl или Shell можно.
2 ответа
Есть только определенное значение пар ключ1/ ключ2 или вы хотите проверить наличие возможных совпадений?
Вы могли бы сделать метод с более низкой производительностью (но легко кодировать), вы можете попробовать такой метод:
for i in range(0,number_of_rows):
for j in range(i+1, number_of_rows):
if (key1_from_row_i == key1_from_row_j) and (if (key1_from_row_i == key1_from_row_j)):
increment your sum of key1_sum key2_sum
Если awk принят вами, эта строка содержит ожидаемый результат:
awk -F, -v OFS=", " 'NR==1{print "key1","key2","sum";next}{a[$1", "$2]+=$3}END{for(x in a)print x,a[x]}' file