구분 기호(쉼표)를 사용하여 CSV(1개 열)를 여러 열로 분할합니다.

구분 기호(쉼표)를 사용하여 CSV(1개 열)를 여러 열로 분할합니다.

한 열에 약 50개의 쉼표로 구분된 값이 포함된 CSV가 있는데 이를 별도의 열로 분할하고 싶습니다. 제목은 1행입니다. 이것은 매우 간단해야 합니다 awk. 많은 방법을 시도해 보았지만 mlr쉼표를 구분 기호로 사용하여 단일 열을 여러 열로 분할하는 방법을 본 어떤 것도 적용할 수 없습니다.

내 프로세스:

  1. 한때 mlr수백 개의 CSV를 하나의 CSV로 병합한 적이 있습니다.

    mlr --icsv cat *.csv > filename.txt
    mlr --ocsv unsparsify filename.txt > filename.csv
    
  2. 이제 하나의 열이 있는 CSV가 있습니다. 해당 열에는 약 50개의 쉼표로 구분된 값이 있으며 이를 여러 열로 나누고 싶습니다.

답변1

항상 일부 입력 및 출력 예제 파일을 추가해야 합니다.

나는 귀하가 CSV를 포함하는 하나의 열(여기의 예에서는 필드 a) 과 함께 이러한 유형의 입력(csv)을 가지고 있다는 것을 이해한 것 같습니다.

두번째
1,2,3
4,7,9 FF FF

원본 CSV는 다음과 같습니다.

a,b,c
"1,2,3",aa,aa
"4,7,9",ff,ff

밀러를 사용하고중첩 동사, 당신은 실행할 수 있습니다

mlr --csv nest --explode --values --across-fields -f a --nested-fs "," input_01.csv > output.csv

가지다

a_1 a2 a_3 두번째
1 2
4 7 9 FF FF

원래 출력은

a_1,a_2,a_3,b,c
1,2,3,aa,aa
4,7,9,ff,ff

관련 정보