Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
aborruso committed Jan 30, 2024
1 parent c48f968 commit 409f93a
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 18 deletions.
2 changes: 1 addition & 1 deletion docs/lavorareCelle.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ Se ad esempio volessi sostituire la stringa `pal` con `mis`, dovrei scrivere `pa
Con VisiData >= 3.0 la procedura è leggermente diversa:

- si parte sempre dal selezionare le righe su cui si vuole eseguire l'operazione (se sono tutte il comando è `gs`);
- digitare `gz*`, poi scrivere la `stringa da trovare`, poi fare click su <kbd>TAB</kbd>, poi scrivere /`stringa da sostituire` e infine dare <kbd>INVIO</kbd>.
- digitare `gz*`, poi scrivere la `stringa da trovare`, poi fare click su <kbd>TAB</kbd>, poi scrivere la `stringa da sostituire` e infine dare <kbd>INVIO</kbd>.
49 changes: 32 additions & 17 deletions docs/lavorareColonne.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Ogni colonna in VisiData ha 3 attributi principali:
- `Width`, la larghezza a schermo della colonna (se impostata a 0, la colonna diventa invisibile);
- `Type`, per definire se contiene testi, numeri interi, numeri decimali, monete o date.

##Il foglio delle colonne
## Il foglio delle colonne

In VisiData esistono i cosiddetti meta-fogli (vedi [sopra](#i-fogli)): uno di questi è il foglio delle colonne, che elenca tutte le colonne e i relativi attributi di una tabella.

Expand All @@ -20,7 +20,7 @@ A partire dalla visualizzazione di una tabella, si apre con `Shift+c`.

È una delle caratteristiche di VisiData che consente una rapida prima lettura del dato, che personalmente uso anche ad esempio per costruire brevi relazioni che contengono schema dati.

##Impostare il tipo di campo
## Impostare il tipo di campo

Come impostazione predefinita VisiData imposta a "testo" la tipologia di tutti i campi (che è quello che faccio di solito anche io alla prima apertura sia in un foglio elettronico che in Pandas).<br>
Per definire il tipo di campo di una colonna della tabella che si sta visualizzando (cosa che consente di fare correttamente ad esempio operazioni di ordinamento, matematiche, ecc.), si deve navigare sino alla colonna su cui si vuole intervenire e poi pigiare:
Expand All @@ -33,7 +33,7 @@ Per definire il tipo di campo di una colonna della tabella che si sta visualizza



###Impostare numero di decimali in un campo floating
### Impostare numero di decimali in un campo floating

Di *default* i campi floating sono renderizzati con due decimali (la formattazione è impostata come `%.02f`).

Expand All @@ -52,7 +52,7 @@ Se si vuole fare su più colonne:



###Impostare formato data personalizzato
### Impostare formato data personalizzato

Se una cella contiene ad esempio la data `06/11/2020` (qui come 6 novembre 2020), e imposto la colonna come data con il tasto `@`, visidata la interpreta come `2020-06-11`, ovvero come 11 giugno.

Expand All @@ -66,15 +66,15 @@ In output si avrà `2020-11-06`.



##Rinominare le colonne
## Rinominare le colonne

Per farlo si naviga sino alla colonna che si vuole rinominare e poi:

- si pigia `^`;
- si digita il nome che si vuole assegnare;
- si pigia `Invio`.

##Rinominare le colonne in blocco
## Rinominare le colonne in blocco

Può essere utile ad esempio anteporre dei caratteri a tutte le colonne che iniziano per `t`.

Expand All @@ -90,7 +90,7 @@ Tutte le colonne che iniziano per `t`, avranno un nuovo nome corrispondente al p



##Come espandere, ridurre e rimuovere colonne
## Come espandere, ridurre e rimuovere colonne

Questi gli shortcut:

Expand All @@ -103,14 +103,14 @@ Questi gli shortcut:



##Spostare una colonna
## Spostare una colonna

Ecco come farlo:

- `Shift+h`, sposta la colonna corrente di una posizione a sinistra;
- `Shift+l`, sposta la colonna corrente di una posizione a destra.

##Modificare una colonna tramite un'espressione Python
## Modificare una colonna tramite un'espressione Python

A questa tabella si vuole assegnare al campo `FieldA` il valore di `FieldB`, tutte le volte che `FieldA` è vuoto.

Expand All @@ -130,7 +130,7 @@ Ovvero (`FieldA`) è uguale `FieldB` se `FieldA` non contiene nulla, altrimenti



##Calcoli per colonna
## Calcoli per colonna

È possibile avere restituito, per una colonna, il risultato di uno dei calcoli di aggregazione disponibili:

Expand All @@ -149,7 +149,7 @@ In basso, si leggerà il valore risultante.

Se nessuna riga è selezionata si avrà il totale per colonna, altrimenti il calcolo sarà applicato per colonna alle sole righe selezionate.

##Come definire una colonna chiave
## Come definire una colonna chiave

Per ogni foglio è possibile definire una o più colonne chiave. Hanno due funzioni principali:

Expand All @@ -160,7 +160,7 @@ Per definire una colonna chiave (e vice-versa) si naviga sino alla colonna di in



##Manipolare le colonne dal foglio delle colonne
## Manipolare le colonne dal foglio delle colonne

Il foglio delle colonne oltre a dare una visione di insieme, consente di fare delle rapide modifiche in blocco. È possibile spostare le colonne con `Shift+j` e `Shift+k`, rinominarle con `e`, impostare il tipo per tutte quelle selezionate, impostare la larghezza per tutte quelle selezionate.

Expand All @@ -178,15 +178,15 @@ Poi premere `g#`.



##Creare una nuova colonna
## Creare una nuova colonna

Sono tre le modalità più comode:

- come risultato di un'espressione Python;
- come risultato di un comando di _split_;
- come risultato di estrazione di una porzione di testo da una colonna.

###Nuova colonna tramite espressione
### Nuova colonna tramite espressione

Ad esempio potrebbe essere utile creare una colonna vero/falso, per tutte le auto del Parco Circolante dei veicoli dell'Abruzzo, con cilindrata maggiore ai 643 (è un numero a caso). Per farlo:

Expand All @@ -202,7 +202,7 @@ In output qualcosa come quella di sotto, con la nuova colonna risultato di un'es

![](./imgs/15_nuoveColonne.png)

###Nuove colonne come risultato di splitting
### Nuove colonne come risultato di splitting

Si possono creare nuove colonne, come risultato di una suddivisione di una già esistente. Ad esempio nel campo `data_immatricolazione` è contenuta sia la data che l'orario, separati da spazio (i.e. `1995-04-03 00:00:00`). <br>
Se si vuole suddividerla in due colonne (data e orario), si può procedere in questo modo:
Expand All @@ -218,7 +218,7 @@ Come output si avrà qualcosa come quella di sotto: due colonne frutto della div



###Nuove colonne come risultato di cattura e estrazione
### Nuove colonne come risultato di cattura e estrazione

Per farlo ci vogliono delle conoscenze di base sulle espressioni regolari (che sono una conoscenza propedeutica per chiunque lavori con i dati).

Expand All @@ -237,7 +237,13 @@ E si ottiene qualcosa come quella di sotto:



##Trasformare una colonna tramite espressione regolare (trova e sostituisci)
## Trasformare una colonna tramite espressione regolare (trova e sostituisci)

!!! Warning "Questa procedura non è più valida per VisiData >= 3.0"

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla et euismod
nulla. Curabitur feugiat, tortor non consequat finibus, justo purus auctor
massa, nec semper lorem quam in massa.

Su ogni colonna è possibile fare delle trasformazioni basate su espressioni regolari. Se ad esempio si vogliono rimuovere dalle celle della colonna `data_immatricolazione` le informazioni sull'orario e passare quindi da `1995-04-03 00:00:00` a `1995-04-03` si può procedere in questo modo:

Expand All @@ -252,3 +258,12 @@ Il risultato sarà qualcosa come quella di sotto:
![](./imgs/25_trasforma.png)

Questo è un "trova e sostituisci" per colonna.

## Trasformare una colonna tramite espressione regolare - VisiData >= 3.0

Con VisiData >= 3.0, la procedura è cambiata. Si procede in questo modo:

- si selezionano le righe su cui si vuole fare questa trasformazione (se sono tutte il comando è `gs`);
- si va nella colonna `data_immatricolazione`;
- si pigia su `g*`;
- si scrive la `stringa da trovare`, poi si fa click su <kbd>TAB</kbd>, poi si scrive la `stringa da sostituire` e infine si dà <kbd>INVIO</kbd>.

0 comments on commit 409f93a

Please sign in to comment.