Cómo unirse y múltiples columnas al archivo de formato CSV
- 4876
- 750
- Sra. María Teresa Rentería
En el siguiente ejemplo, puede encontrar algunos consejos sobre cómo unir columnas de varios archivos a un solo archivo de valor separado por coma (CSV). Para leer una columna, forman múltiples archivos que podemos usar pegar
dominio. Considere un siguiente ejemplo. En nuestro directorio de caja de arena tenemos 3 archivos donde cada uno contiene una sola columna de fecha:
$ LS F1 F2 F3 $ CAT F1 AZ DR QW RT ER $ CAT F2 IU DR GG HH JJ QQ EE UI $ CAT F3 QP DF
A continuación, podemos unirnos a ellos usando pegar
:
$ Paste F1 F2 F3 AZ IU QP DR DR DF QW GG RT HH ER JJ QQ EE UI
Por defecto, el comando de pegar usará PESTAÑA
para separar todas las columnas entre sí. Este comportamiento se puede sobrescribir utilizando -d
opción. Por ejemplo, en lugar de un archivo delimitado por pestaña, creamos un archivo delimitado por coma:
$ Paste -D, F1 F2 F3 AZ, IU, QP DR, DR, DF QW, GG, RT, HH, ER, JJ, Y QQ, EE ,, UI,
Ok, esto fue fácil. Pero, ¿qué hay de unir una columna seleccionada de múltiples columnas archivos?? Considere un siguiente PESTAÑA
Archivos de cuadro de envío delimitado donde cada archivo contiene más de una columna:
$ LS F4 F5 F6 $ CAT F4 QW MN QW TY IX AO PI ER SY $ CAT F5 RK WP LP CY WN EM $ CAT F6 TR ER WM UT VB MQ RP EL ST
El uso de una pasta en todos los archivos se unirá a todas las columnas en una sola salida:
$ paste f4 f5 f6 qw mn qw rk wp tr er wm ty ix ao lp cy ut vb mq pi er sy wn em rp el st
Una vez que tenemos la salida anterior, podemos usar cortar
o asombrar
comandos para seleccionar solo las columnas que nos interesan. En el siguiente ejemplo nos uniremos a un segundo y tercero de un f4
Archivo, primera columna de f5
Archivo y última columna de f6
con ,
Como delimitador:
$ Paste F4 F5 F6 | awk 'begin ofs = "," imprime $ 2, $ 3, $ 4, $ 8' mn, qw, rk, wm ix, ao, lp, mq er, sy, wn, st
Tenga en cuenta que puede especificar las columnas de salida en cualquier orden para que, por ejemplo, este también sea un comando válido:
$ Paste F4 F5 F6 | Awk 'Begin ofs = "," imprima $ 4, $ 8, $ 2, $ 3' rk, wm, mn, qw lp, mq, ix, ao wn, st, er, sy
Del mismo modo un cortar
comando con una combinación de TR
se puede usar para unir o separar múltiples columnas forman el archivo CSV de valor separado o stdin:
$ Paste F4 F5 F6 | tr '\ t ",' | Cut -d, -f2,3,4,8 mn, qw, rk, wm ix, ao, lp, mq er, sy, wn, st
Lo último que debe mencionar es que para guardar su nueva salida CSV en un archivo, debe usar la redirección para redirigirlo a un nuevo archivo. Por ejemplo, creamos un nuevo archivo llamado mis datos.CSV
:
$ Paste F4 F5 F6 | tr '\ t ",' | Cut -d, -f2,3,4,8> mydata.CSV
Tutoriales de Linux relacionados:
- Cómo leer y crear archivos CSV usando Python
- Cómo conectarse a un servidor FTP usando Python
- Mastering Bash Script Loops
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 1
- Introducción a Vagrant
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 3
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 2
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 4
- Una introducción a la automatización, herramientas y técnicas de Linux
- Ejemplos de consejos y trucos de comandos de comandos útiles - Parte 5
- « Cómo eliminar una fila del archivo de texto usando un comando SED
- Leer/escribir velocidad de referencia de Samsung SSD 850 Pro »