Ok, donc on peut parser le CSV qu'on me file qui est forcément en win1252, séparé par des tabulations, avec des retours de chariot windows, avec les tabulations échappées par des doubles quotes, en omettant les champs de fin de ligne comme Excel et avec des champs vides signifiants null avec mon parser CSV qui ne lit que l'UTF-8, séparé par des points-virgule avec des retours de chariot de mac, des points virgule échappés par des ,円 où les champs vide signifient chaîne vide et qui part du principe qu'on a forcément toujours 10 champs, c'est supposé passer.
Le CSV n'est pas un standard, c'est un meta-standard. A moins qu'on te file la description complète du format de CSV qu'on le file, tu ne peux que très très difficilement deviner comment le parser. La dernière fois que j'ai bossé sur du CSV, on du aller jusqu'à sortir des heuristiques pour détecter le charset et se protéger des caractères 0円 fournis au pif en plus du caractère de fin de ligne par certains de nos clients.
[^] # Re: HS CSV
Posté par damaki . En réponse au journal Tous les parsers JSON sont mauvais. Évalué à 1. Dernière modification le 23 octobre 2017 à 16:19.
Ok, donc on peut parser le CSV qu'on me file qui est forcément en win1252, séparé par des tabulations, avec des retours de chariot windows, avec les tabulations échappées par des doubles quotes, en omettant les champs de fin de ligne comme Excel et avec des champs vides signifiants null avec mon parser CSV qui ne lit que l'UTF-8, séparé par des points-virgule avec des retours de chariot de mac, des points virgule échappés par des ,円 où les champs vide signifient chaîne vide et qui part du principe qu'on a forcément toujours 10 champs, c'est supposé passer.
Le CSV n'est pas un standard, c'est un meta-standard. A moins qu'on te file la description complète du format de CSV qu'on le file, tu ne peux que très très difficilement deviner comment le parser. La dernière fois que j'ai bossé sur du CSV, on du aller jusqu'à sortir des heuristiques pour détecter le charset et se protéger des caractères 0円 fournis au pif en plus du caractère de fin de ligne par certains de nos clients.