← retour aux snippets

csv.writer: contrôler le quoting et l'échappement

Écrire des CSV robustes avec delimiter, quotechar et quoting.

python csv #csv#writer#quoting

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.