여러 열이 포함된 CSV 파일, 루프를 사용하여 각 열 인쇄

여러 열이 포함된 CSV 파일, 루프를 사용하여 각 열 인쇄

많은 열이 포함된 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

관련 정보