copiar do arquivo psv para o arquivo Excel para várias colunas

copiar do arquivo psv para o arquivo Excel para várias colunas

Meu arquivo PSV se parece com

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

As colunas de origem e destino são diferentes. Quero cortar o valor da coluna1 para várias colunas no destino por _ delimitador. Quero que o arquivo de saída seja como no Excel (.xlsx)

Column1 Column2 Column3
Web     In      123
Tab     Out     453

Responder1

Eu acho que isto é o que você está procurando:

column -s '|' -t file

Supondo que não haja caracteres verticais incorporados em nenhum dos campos. Para análise de dados CSV genéricos, usecsvkit.

Responder2

Com uma versão adequadamente recente doMoleiro

$ ~/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

Com versões mais antigas do Miller, talvez você não consiga usar a capitalizefunção - você pode usar letras minúsculas in/ outou converter para letras maiúsculas IN/ OUTsubstituindo capitalizepor toupper.

informação relacionada