# restituisce (se vuoto) o setta il limite del campo del csv
.field_size_limit(new_limit)
'''
csvfile --oggetto iterabile restituente una string ad ogni chiamata di __next__()
se csv è un file deve essere aperto con newline='' (newline universale)
dialect --specifica il dialetto del csv (Excel, ...) (OPZIONALE)
fmtparams --override parametri di formattazione (OPZIONALE) https://docs.python.org/3/library/csv.html#csv-fmt-params
'''
# oggetto operante come reader ma mappa le info in ogni riga in un OrderedDict le cui chiavi sono opzionali e passate tramite fieldnames
class csv.Dictreader(f, fieldnames=None, restket=none, restval=None, dialect, *args, **kwargs)
'''
f --file da leggere
fieldnames --sequenza, definisce i nomi dei campi del csv. se omesso usa la prima linea di f
restval, restkey --se len(row) > fieldnames dati in eccesso memorizzati in restval e restkey
parametri aggiuntivi passati a istanza reader sottostante
'''
class csv.DictWriter(f, fieldnames, restval='', extrasaction, dialect, *args, **kwargs)
'''
f --file da leggere
fieldnames --sequenza, definisce i nomi dei campi del csv. (NECESSARIO)
restval --se len(row) > fieldnames dati in eccesso memorizzati in restval e restkey
extrasaction --se il dizionario passato a writerow() contiene key non presente in fieldnames extrasaction decide azione da intraprendere (raise causa valueError, ignore ignora le key aggiuntive)
parametri aggiuntivi passati a istanza writer sottostante
'''
# METODI DICTREADER
.writeheader() # scrive una riga di intestazione di campi come specificato da fieldnames
# classe usata per dedurre il formato del CSV
class csv.Sniffer
.sniff(campione, delimiters=None) #analizza il campione e restituisce una classe Dialect. delimiter è sequenza di possibili delimitatori di caselle
.has_header(campione) --> bool # True se prima riga è una serie di intestazioni di colonna