objectif
Écrire des CSV robustes avec delimiter, quotechar et quoting.
code minimal
import csv, io
buf = io.StringIO()
w = csv.writer(buf, delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL)
w.writerow(["a", "b,c", 'd"e'])
out = buf.getvalue()
print("," in out and '"' in out) # attendu: True
utilisation
import csv, io
buf = io.StringIO()
w = csv.writer(buf, delimiter=";", quoting=csv.QUOTE_ALL)
w.writerow(["x", "y"])
print(buf.getvalue().startswith('"'))
variante(s) utile(s)
import csv
print(hasattr(csv, "QUOTE_MINIMAL"))
notes
- Choisissez QUOTE_ALL pour simplifier les parsers en aval.
- Normalisez les fins de ligne et encodages selon la plateforme.