Closed dennisangemi closed 1 year ago
Caro @dennisangemi ,
quando il delimiter non è presente, si dà per scontato che sia quello di default. che per il dialetto CSV è la ,
.
Infatti se hai in input
a;b
3;t
4;v
e dai frictionless describe --type "package" input_01.csv
, ottieni
resources:
- name: input_01
type: table
path: input_01.csv
scheme: file
format: csv
encoding: utf-8
mediatype: text/csv
dialect:
csv:
delimiter: ;
schema:
fields:
- name: a
type: integer
- name: b
type: string
Se invece hai un CSV con separator ,
non hai nulla, e se non hai nulla il separatore è la ,
.
Se ne vuoi forzare comunque la scrittura, a partire ad esempio da
a,b
3,t
4,v
devi definirlo come opzione di dialetto
frictionless describe --type "package" --dialect '{"csv": {"delimiter": ","}}' input.csv
che ti darà
resources:
- name: input
type: table
path: input.csv
scheme: file
format: csv
encoding: utf-8
mediatype: text/csv
dialect:
csv:
delimiter: ','
schema:
fields:
- name: a
type: integer
- name: b
type: string
Ciao @aborruso, grazie mille ❤
Adesso è tutto chiaro. In sostanza non so leggere e non capisco le documentazioni 👀
Ho un'altra domanda per te: Si può affermare che ogni datapackage (relativo a dei csv) privo della key dialect descrive dei csv il cui separatore sia la virgola?
In altre parole: È impossibile che io trovi dei datapackage in cui non sia specificato il delimiter nonostante questo sia diverso dalla virgola (per un csv)?
Adesso è tutto chiaro. In sostanza non so leggere e non capisco le documentazioni 👀
Ho fatto la stessa tua domanda tempo fa, e anche io non le so capire
Ho un'altra domanda per te: Si può affermare che ogni datapackage (relativo a dei csv) privo della key dialect descrive dei csv il cui separatore sia la virgola?
Sì, se non dichiarato è la ,
. Io però da utente preferisco leggerlo sempre.
E quindi siccome aggiungerlo non è un errore, ed aggiungerlo è facile, io lo aggiungerei anche se ridondante.
Con l'occasione ho aperto una PR https://github.com/frictionlessdata/specs/pull/821/files
Ricetta pubblicata (creo anche alias) https://tansignari.opendatasicilia.it/ricette/utilities/frictionless_specificare_delimiter_datapackage/
Grazie mille @aborruso (anche per la PR!)
@aborruso OT: grazie a questa ricetta sono riuscito ad aggiungere questa condizione al nascente tool frictionless2md: se il delimiter è specificato nel dapackage allora verrà aggiunto all'output in markdown, altrimenti il campo verrà saltato (stampando un warning ;)
Sera!
Mi piacerebbe aggiungere le informazioni relative al delimiter
in un datapackage (precisamente "Tabular Data Resource") senza manualmente copiare e incollare queste due righe.
A quanto ho capito non c'è un flag di
frictionless describe
che permette di "aggiungere automaticamente le info relative al delimiter" ma esiste l'opzione--dialect
che tuttavia non riesco a far funzionare ;)Se lancio:
ottengo
Un paio di domande:
frictionless describe --dialect dialectinfo.json data.csv
?