L'export csv est une simple concaténantion de valeurs et de virgules
Description
L'export csv n'échape pas les virgules, et surtout ne réspecte pas le standard RFC 4180. J'ai eu des surprises avec les notes contenant des virgules.
def export(notes):
""" Return an csv representation of all notes
:param list: A list of notes to export
"""
to_export = ["nickname", "firstname", "lastname", "note", "mail",
"photo_path"]
csv = ", ".join(to_export) # Ne respecte pas le RFC 4180, il ne faut pas d'éspaces
for note in notes:
csv += "\n" + ",".join(str(note[value]) for value in to_export) # Pas d'échapement des virgules ni des guillemets
return csv
Fix proposé
Il suffit d'utiliser la bibliothèque csv de python qui gère déjà tout les cas. Je m'en occupe.