從 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轉換為全部大寫IN/ 。OUTcapitalizetoupper

相關內容