한 열에 약 50개의 쉼표로 구분된 값이 포함된 CSV가 있는데 이를 별도의 열로 분할하고 싶습니다. 제목은 1행입니다. 이것은 매우 간단해야 합니다 awk
. 많은 방법을 시도해 보았지만 mlr
쉼표를 구분 기호로 사용하여 단일 열을 여러 열로 분할하는 방법을 본 어떤 것도 적용할 수 없습니다.
내 프로세스:
한때
mlr
수백 개의 CSV를 하나의 CSV로 병합한 적이 있습니다.mlr --icsv cat *.csv > filename.txt mlr --ocsv unsparsify filename.txt > filename.csv
이제 하나의 열이 있는 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