Tutoriales

5 formas de convertir archivos CSV a archivos TSV en Linux

Al administrar y analizar datos, a menudo es necesario convertir archivos de un formato a otro.si estás trabajando con archivo CSV (Valores Separados por Comas) archivos en Linux y desea convertirlos a TSV (valores separados por tabulaciones), ha venido al lugar correcto ya que este artículo lo ayudará en el proceso de realizar la conversión que necesita.

Entendiendo CSV y TSV

archivo CSV Los archivos se han utilizado ampliamente para almacenar datos estructurados. Sin embargo, TSV La documentación ofrece algunas ventajas archivo CSV documento.

a pesar de archivo CSV archivo con valores separados por comas, TSV El archivo utiliza tabulaciones, lo que puede facilitar la manipulación de datos, especialmente cuando se trata de comas en los propios datos.

Los archivos TSV también tienden a ser más compatibles con una variedad de aplicaciones y herramientas comúnmente utilizadas para la manipulación y el análisis de datos.

Cómo convertir CSV a TSV en Linux

convertir archivo CSV archivo a TSV Los archivos en Linux se pueden implementar de varias maneras, como se indica a continuación:

1. Usa el comando awk

awk es una poderosa herramienta de procesamiento de texto que le permite manipular y transformar datos de manera eficiente, y también se usa para convertir archivos CSV a archivos TSV, como se muestra.

$ awk -F ',' 'BEGIN {OFS="\t"} {$1=$1}1' tecmint.csv > tecmint.tsv
$ ls -l tecmint.tsv

reemplazar archivo tecmint.csv utilizando el nombre de archivo real del archivo CSV, y Ficha técnica.tsv El nombre de archivo requerido para usar el archivo TSV convertido.

Comando awk – Convertir CSV a TSV

Desglosemos el comando:

  • -F ',' Establezca el delimitador del campo de entrada en coma, lo que indica que el archivo de entrada está en formato CSV.
  • BEGIN {OFS="\t"} Establece el separador de campo de salida en tabulación, especifica que el archivo de salida debe estar en formato TSV.
  • {$1=$1} Obliga a awk a reformatear los campos de entrada utilizando el separador de campo especificado.
  • 1 es un patrón awk común que activa la acción predeterminada, que es imprimir el registro modificado.

2. Usa el comando sed

El comando sed es otra poderosa herramienta disponible en Linux que se puede usar para convertir fácilmente archivos CSV a archivos TSV.

aquí lo tienes sed Comandos que debe ejecutar en la Terminal para convertir un archivo CSV en un archivo TSV.

$ sed 's/,/\t/g' tecmint.csv > tecmint.tsv
$ ls -l tecmint.tsv
comando sed - Convertir CSV a TSV
Comando sed – Convertir CSV a TSV

Entendamos los componentes del comando:

  • s/,/\t/g es el patrón de reemplazo utilizado por sed, que busca comas (,) en el archivo de entrada y reemplazarlos con pestañas (\t).
  • entrada.csv Debe reemplazarse con el nombre de archivo real del archivo CSV.
  • salida.tsv Especifique el nombre de archivo deseado para el archivo TSV convertido. Puedes elegir el nombre que quieras.

3. Usa la biblioteca csvkit

este Caja de herramientas La biblioteca proporciona un conjunto conveniente y poderoso de herramientas de línea de comandos para trabajar con archivos CSV en Linux. Proporciona una manera fácil de convertir archivos CSV a formato TSV.

Sin embargo, primero debe instalar Caja de herramientas Utilice el siguiente comando en su sistema Linux:

$ sudo apt install csvkit         [On Debian, Ubuntu and Mint]
$ sudo yum install csvkit         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
$ sudo emerge -a sys-apps/csvkit  [On Gentoo Linux]
$ sudo apk add csvkit             [On Alpine Linux]
$ sudo pacman -S csvkit           [On Arch Linux]
$ sudo zypper install csvkit      [On OpenSUSE]    

Luego usa el siguiente comando -T opción, que especifica el delimitador de salida como pestañas y convierte el archivo CSV al formato TSV.

$ csvformat -T tecmint.csv > tecmint.tsv
$ ls -l tecmint.tsv
csvkit - Convertir formato CSV a TSV
csvkit – Convertir formato CSV a TSV

4. Uso de secuencias de comandos de Python

Para convertir un archivo CSV en un archivo TSV en Linux, puede usar Python, un lenguaje de programación de propósito general que se usa comúnmente en los sistemas Linux. Siga los pasos a continuación para convertir usando Python:

Cree un nuevo archivo de secuencia de comandos de Python en Terminal ejecutando el siguiente comando:

$ nano tecmint.py
OR
$ vi tecmint.py

Luego agregue el siguiente código en el archivo de script.

import csv

csv_file="tecmint.csv"
tsv_file="tecmint.tsv"

with open(csv_file, 'r') as input_file, open(tsv_file, 'w') as output_file:
    csv_reader = csv.reader(input_file)
    tsv_writer = csv.writer(output_file, delimiter="\t")

    for row in csv_reader:
        tsv_writer.writerow(row)

Debe reemplazar el nombre de archivo CSV con su propio nombre de archivo guardado en su sistema y reemplazar el nombre de archivo TSV con su elección.

entonces usa pitón 3 Intérpretes:

$ python3 tecmint.py
Python convierte CSV a TSV
Python convierte CSV a TSV

5. Uso de secuencias de comandos de Perl

También puedes usar Perl Un lenguaje de programación en Linux para convertir archivos CSV a archivos TSV. Para ello, debes seguir estos pasos:

crear un nuevo Perl Archivo de script usando los siguientes comandos:

$ nano tecmint.pl
OR
$ vi tecmint.pl

Agregue el siguiente código al archivo de script:

#!/usr/bin/perl

use strict;
use warnings;

my $csv_file="tecmint.csv";
my $tsv_file="tecmint.tsv";

open(my $input_fh, '<', $csv_file) or die "Failed to open $csv_file: $!";
open(my $output_fh, '>', $tsv_file) or die "Failed to create $tsv_file: $!";

while (my $line = <$input_fh>) {
chomp $line;
my @fields = split(',', $line);
my $tsv_line = join("\t", @fields);
print $output_fh $tsv_line . "\n";
}

close $input_fh;
close $output_fh;

Luego guarde el archivo usando CTRL+Xseguido por y el botón entrar.

Haga que el script de Perl sea ejecutable y ejecute el script de Perl con:

$ chmod +x tecmint.pl
$ ./tecmint.pl
$ ls -l tecmint.tsv
Perl Convertir CSV a TSV
Perl Convertir CSV a TSV
en conclusión

Cuando trabaje con archivos CSV en Linux y necesite convertirlos a archivos TSV, hay varios métodos disponibles.Este artículo proporciona instrucciones paso a paso para usar comandos como awk y sedusar Caja de herramientas biblioteca, usando Pitóny emplear Perl Lenguaje de programación.

Cada método tiene sus propias ventajas y puede convertir fácilmente archivos CSV a formato TSV. Siguiendo las instrucciones proporcionadas, los usuarios pueden realizar de manera eficiente la conversión requerida y usar archivos TSV en sus sistemas Linux.

LEER  Cómo lanzar RHEL 8 desde Amazon EC2 en AWS

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba