여러 열에 대해 psv 파일에서 Excel 파일로 복사

여러 열에 대해 psv 파일에서 Excel 파일로 복사

내 PSV 파일은 다음과 같습니다

Column1|Column2|Column3
Web_Value_in_file|123|OLA
Tab_Value_out_file|453|OLA

소스 및 대상 열이 다릅니다. _ 구분 기호를 사용하여 컬럼 1의 값을 대상의 여러 열로 자르고 싶습니다. 출력 파일이 Excel(.xlsx)과 같기를 원합니다.

Column1 Column2 Column3
Web     In      123
Tab     Out     453

답변1

나는 이것이 당신이 찾고 있는 것이라고 생각합니다:

column -s '|' -t file

어떤 필드에도 파이프 문자가 포함되어 있지 않다고 가정합니다. 일반 CSV 데이터를 구문 분석하려면 다음을 사용하세요.csvkit.

답변2

적절하게 최신 버전의밀러

$ ~/src/miller/c/mlr --csvlite --ifs '|' --ofs tab put '
    x = splitnv($Column1,"_"); $Column3 = $Column2; $Column2 = capitalize(x[3]); $Column1 = x[1]
  ' then cat file.psv
Column1 Column2 Column3
Web     In      123
Tab     Out     453

이전 버전의 Miller에서는 이 기능을 사용하지 못할 수도 있습니다 capitalize. 소문자로 사용하거나 in/ 로 대체하여 모두 out대문자로 변환 할 수 있습니다 .INOUTcapitalizetoupper

관련 정보