objectif
Deviner le dialecte d’un CSV (séparateur, quotechar) de façon robuste.
code minimal
import csv
sample = "a;b;c\n1;2;3\n"
dialect = csv.Sniffer().sniff(sample)
print(dialect.delimiter == ";") # attendu: True
utilisation
import csv, io
s = io.StringIO("a,b\n1,2\n")
d = csv.Sniffer().sniff(s.read(1024))
print(d.delimiter == ",")
variante(s) utile(s)
import csv
print(csv.Sniffer().has_header("col1;col2\n1;2\n") is True)
notes
- Fournissez un échantillon significatif (quelques lignes) à sniff().
- has_header heuristique; vérifiez vos colonnes si critique.