많은 열이 포함된 CSV 파일이 데스크탑에 저장되어 있습니다. CSV 파일에는 행이 하나 뿐이고 열이 195개 있으며 Unix에서 각 열을 인쇄하려면 루프 명령을 사용해야 합니다. 파일 경로는 입니다 /home/mobaxterm/Desktop/final_geneID.csv
. 처음 접해서 어떻게 해야 할지 모르겠습니다. 누구든지 대답이 있으면 도와주세요.
답변1
CSV 데이터 세트가 기본 필드 구분 기호(쉼표)와 따옴표 문자가 있는 헤더 없는 CSV 파일이라고 가정하면 다음을 사용할 수 있습니다.밀러( mlr
구조화된 데이터 작업을 위한 CSV 인식 도구)는 모든 필드를 반복 for
하고 루프를 통해 별도의 행에 내보냅니다.
mlr --csv -N --from=file.csv put -q 'for (k,v in $*) { emit v }'
그러면 파일이 file.csv
헤더 없는 CSV 파일로 읽혀집니다. 각 레코드에 대해 모든 필드를 반복하고 각 필드를 차례로 내보냅니다.
다음 샘플 데이터를 사용하세요.
A,B,"C,D",E,"F G"
F
...(와 사이의 공백은 G
리터럴 탭 문자임) 다음과 같이 출력됩니다.
A
B
"C,D"
E
F G
출력은 여전히 CSV 형식이므로 쉼표가 포함된 필드 주위의 큰따옴표가 유지됩니다. 출력을 쉼표가 포함된 필드를 인용하지 않는 "예쁜 인쇄 형식"으로 변환 --csv
하도록 변경할 수 있습니다 .--c2p