это классическая нерасплавленная или неопрятная операция.
Используя Миллера(http://johnkerl.org/miller/doc)и начиная с
id,source,value
1,abc,100
1,xyz,200
2,aaa,300
2,bbb,400
2,ccc,500
можешь бежать
mlr --csv reshape -s source,value then unsparsify input.csv
И есть
id,abc,xyz,aaa,bbb,ccc
1,100,200,,,
2,,,300,400,500