copiar del archivo psv al archivo de Excel para varias columnas

copiar del archivo psv al archivo de Excel para varias columnas

Mi archivo PSV se parece

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

Las columnas de origen y destino son diferentes. Quiero cortar el valor de la columna 1 a varias columnas en el destino mediante _ delimitador. Quiero que el archivo de salida sea como Excel (.xlsx)

Column1 Column2 Column3
Web     In      123
Tab     Out     453

Respuesta1

Creo que esto es lo que estás buscando:

column -s '|' -t file

Suponiendo que no haya caracteres de barra vertical incrustados en ninguno de los campos. Para analizar datos CSV genéricos, utilicecsvkit.

Respuesta2

Con una versión adecuadamente reciente deMolinero

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

Con versiones anteriores de Miller, es posible que no pueda utilizar la función; puede vivir con / capitalizeen minúsculas o convertir a mayúsculas / reemplazando con .inoutINOUTcapitalizetoupper

información relacionada