У меня проблема с преобразованием "некрасивого" CSV в "симпатичный".Например, у меня есть:
something,epochtime,time-human-readable,some,header,for,the,values,here
same,time-a,don-t_care,a,b,,,,
same,time-a,don-t_care,,,,,c,
same,time-a,don-t_care,,,,,,d
same,time-a,don-t_care,,,e,f,,
same,time-b,don-t_care,g,h,,,,
same,time-b,don-t_care,,,i,j,,
same,time-b,don-t_care,,,,,,k
same,time-b,don-t_care,,,,,l,
same,time-c,don-t_care,,,m,n,,
same,time-c,don-t_care,,,,,o,
same,time-c,don-t_care,p,q,,,,
same,time-c,don-t_care,,,,,,r
Но мне нужно:
something,epochtime,time-human-readable,some,header,for,the,values,here
same,time-a,don-t_care,a,b,e,f,c,d
same,time-b,don-t_care,g,h,i,j,l,k
same,time-c,don-t_care,p,q,m,n,o,r
Поведение данных:
- В столбцах, о которых идет речь, содержится целое число со знаком или число с плавающей запятой(за исключением первого и третьего столбца, которые имеют тип string и не являются частью проблемы).
- Всегда ровно 1 значение на столбец и время эпохи.(Можно интерпретировать пустые поля как 0 и суммировать все значения в одном столбце, принадлежащие одному периоду времени.)
- Значения одного времени эпохи распространяются на одно и то же количество строк каждый раз.
- Значения, принадлежащиедо одной эпохи может всегда отображаться разбросанным по строкам в одном и том же шаблоне (в отличие от примера) ... но это не гарантируется.
IЯ попытался решить эту проблему с помощью моего ограниченного навыка, используя sed / awk, но безрезультатно.
Любое решение, которое может быть выполнено crontab, приветствуется, в то время как bash / sed / awk / perl / python или любое другоеget install ... "способный инструмент командной строки является предпочтительным.ОС хоста - XUbuntu 16.04 LTS.
Приложение: (2018-10-16 13:55 UTC)
- Строки отсортированы в хронологическом порядке в соответствии с эпохой
- Значениясгруппированы по epochtime
- Несмотря на то, что первый и третий столбцы содержат строку, они состоят из букв, чисел и
-
или _
, без пробелов или ,
-> без строковой головной боли
, т. е.dummy,1539697764,2018-10-16_13-49-24,p,q,,,,