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

관련 정보