밀러의 데이터 필드에 제목 태그 출력

밀러의 데이터 필드에 제목 태그 출력

주어진파일.csv:

a,b,c
1,2,3

어쩌다mlr산출:

a,b,c
1,2,c

태그 이름 사용$c 아니요$c"를 포함하는 문자 를 미리 알아 두십시오 ."?


참고: 정답을 mlr사용해야 합니다.

답변1

수정된 답변

안녕하세요, 이 스크립트를 사용할 수 있습니다

mlr --csv put 'if (NR == 1) {
counter=1;
  for (key in $*) {
    if (counter == 3) {
    $[key]=key;
    }
    counter += 1;
  }
}' input.csv

결과는 다음과 같습니다.

a,b,c
1,2,c

NR == 1첫 번째 행을 가져오고 counter == 3세 번째 필드를 가져옵니다.

답변2

간단하게awk:

awk 'BEGIN{ FS=OFS="," }{ (NR == 1)? c=$NF : $NF=c }1' file.csv

예제 출력:

a,b,c
1,2,c

답변3

밀러 v5.6.0허가를 받아$[[fieldno]]필드 이름을 참조하는 값"플드노"이므로 귀하의 경우 필드 3의 이름은 입니다 $[[3]].

    mlr --csv put '$c = $[[3]]' file.csv

관련 정보