Editor CSV basato su console interattiva


12

Sebbene le applicazioni per fogli di calcolo per la modifica di file CSV sulla console fossero una delle prime applicazioni killer per personal computer, solo alcune di esse e ancora meno documentazione su di esse sono ancora attivamente mantenute.

Dopo aver fatto una ricerca approfondita sul web, sulle pagine man e sul codice sorgente, sono finito con le seguenti tre applicazioni che presentano tutti degli svantaggi fondamentali:

  • sc: abbrev. per calcolatrice di fogli elettronici; simpatico strumento con combinazioni di tasti vi, ma non inserisce le stringhe contenenti il ​​delimitatore tra virgolette durante l'esportazione in formato separato dal delimitatore e non è possibile importare correttamente i file CSV, ovvero tutti i numeri vengono interpretati come stringhe
  • GNU oleo: non sembra essere più attivamente mantenuto dal 2001 e quindi non ci sono pacchetti per le principali distribuzioni di Linux
  • teiera: offre pacchetti per vari sistemi operativi, ma utilizza ad esempio la denominazione controintuitiva delle celle (i numeri per riga e colonna, ovvero 11 sembra essere inteso come riga 1, colonna 1) e codice superfluo per la GUI FLTK

Varie modalità Emacs inoltre non citano bene le stringhe contenenti il ​​delimitatore o richiedono molta più digitazione per entrare nello scaffold di una tabella.

Pertanto, sarei molto grato per aver superato uno di questi inconvenienti o suggerimenti per un altro editor CSV basato su console. In realtà non è necessario eseguire calcoli solo modificando celle o colonne e righe.


Risposte:


11

Un editor CSV dovrebbe generalmente riconoscere i numeri in quanto tali, citare le stringhe solo quando necessario, consentire i delimitatori all'interno delle stringhe tra virgolette e non comprimere le celle vuote. Quindi, questo sullo schermo

1                      2          3
col-one                           col,three
                       col two
This is a long string. 1.23456789 3.14

dovrebbe essere correlato a questo nel file

1,2,3
col-one,,"col,three"
,"col two",
"This is a long string.",1.23456789,3.14

Oleo non è stato mantenuto per diversi anni. Ho installato un vecchio pacchetto su un recente sistema Debian e l'ho trovato scomodo e molto difettoso. Le operazioni richiedono più del solito numero di tasti. Tutte le stringhe devono essere quotate e devi farlo manualmente. Il filtro di importazione CSV non può gestire le virgole all'interno delle stringhe. I numeri di precisione lunga non vengono mantenuti nella loro forma originale (ad es. 1.23456789 diventa 1.234567889999999). Il processo a volte diventa fuori controllo in modo che non possa essere ucciso dalla riga di comando.

Sembra che MacroCALC, Teapot e SC siano gli unici fogli di calcolo della CLI ancora in fase di manutenzione.

MacroCALC non può importare o esportare in modo pulito file CSV.

Teiera è un po 'insolita, ma è molto facile da usare e il manuale è una lettura veloce. L'importazione / esportazione di CSV è semplice. Ha due stranezze principali. Innanzitutto, mentre esegue la quotazione automatica delle stringhe, cita sempre tutte le stringhe. In secondo luogo, troncherà / espanderà tutti i numeri decimali con la precisione predefinita. L'interfaccia FLTK è operativa, ma è difettosa.

SC è veloce e stabile. Funziona in modo simile a vi ed è adatto ai principianti. Sono richiesti programmi esterni per la conversione tra formato SC e CSV. Lo pscstrumento (solo CSV -> SC) è installato con SC e funziona così:

cat file.csv | psc -k -d, | sc

Dopo la modifica, salva il file con il comando Put , quindi utilizza l' ssconvertutilità (solo SC -> CSV) fornita con Gnumeric:

ssconvert file.sc file.csv

Ho provato a eseguire il round trip di una varietà di cose con psc- ssconverte il processo sembra stabile. I numeri e le stringhe sono gestiti correttamente.

Un metodo alternativo per modificare i file CSV sarebbe quello di utilizzare un editor di testo con un plugin appropriato. Sia Emacs che Vim li hanno, sebbene la versione di Vim sia più veloce e avesse più funzionalità. Offrono operazioni di evidenziazione, allineamento delle colonne e blocco. Ho trovato entrambi molto lenti e buggy.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.