.csv를 3개 열과 1개 행으로 변환

.csv를 3개 열과 1개 행으로 변환

입력 예:

ID, 제품 1, 제품 2, 제품 3, 제품 4
1,0.1,0.3,0.8,0.7
2,0.6,0.7,0.5,0.9

출력은 다음과 같아야 합니다.

아이디, 제품명, 제품값
1, 제품 1, 0.1
1. 제품 2, 0.3
1. 제품 3, 0.8
1, 제품 4, 0.7
2. 제품 1,0.6
2. 제품 2,0.7
3. 제품 3, 0.5

나는 시도했다

awk -F, 'NR==1 { for (i=1; i<=NF; i++) sn[i]=$i }
         NR>1 { for (i=1; i<=NF; i++) print sn[i] "," $i;}' filename.csv

답변1

쉽게 추가할 수 있는 새 헤더 외에도 추가하는 방법은 다음과 같습니다.

awk -F, 'NR==1 { for (i=2; i<=NF; i++) sn[i]=$i }
     NR>1 { for (i=2; i<=NF; i++) print $1 "," sn[i] "," $i }' filename.csv

관련 정보