GNU/Linux >> Linux Esercitazione >  >> Linux

Strumento da riga di comando robusto per l'elaborazione di file CSV?

Lavoro con file CSV e talvolta ho bisogno di controllare rapidamente il contenuto di una riga o di una colonna dalla riga di comando. In molti casi cut , head , tail e gli amici faranno il lavoro; tuttavia, il taglio non può affrontare facilmente situazioni come

"this, is the first entry", this is the second, 34.5

Qui, la prima virgola fa parte del primo campo, ma cut -d, -f1 non è d'accordo. Prima di scrivere una soluzione da solo, mi chiedevo se qualcuno conoscesse un buon strumento che esiste già per questo lavoro. Dovrebbe, almeno, essere in grado di gestire l'esempio sopra e restituire una colonna da un file formattato CSV. Altre caratteristiche desiderabili includono la possibilità di selezionare le colonne in base ai nomi delle colonne forniti nella prima riga, il supporto per altri stili di quotazione e il supporto per file separati da tabulazioni.

Se non conosci uno strumento del genere ma hai suggerimenti sull'implementazione di un programma del genere in Bash, Perl o Python o altri linguaggi di scripting comuni, non mi dispiacerebbe tali suggerimenti.

Risposta accettata:

Puoi usare csv di Python modulo.

Un semplice esempio:

import csv
reader = csv.reader(open("test.csv", "r"))
for row in reader:
    for col in row:
        print col

Linux
  1. 8 suggerimenti per la riga di comando di Linux

  2. Titan:un gestore di password da riga di comando per Linux

  3. ppl – Una rubrica da riga di comando per Linux

  4. Moro:uno strumento di produttività da riga di comando per il monitoraggio delle ore di lavoro

  5. Esiste uno strumento a riga di comando per la visualizzazione e l'analisi dei dati?

fdupes:uno strumento da riga di comando per trovare ed eliminare file duplicati in Linux

Comando ls in Linux per elencare i file

Come cercare file dalla riga di comando di Linux

Un cestino per la riga di comando di Ubuntu

Ripgrep – Lo strumento di ricerca da riga di comando più veloce per Linux

Sviluppa rapidamente la GUI per la riga di comando