J'ai une application simple qui ouvre un fichier texte délimité par des tabulations et insère ces données dans une base de données.Cotations dans un fichier délimité par des tabulations
J'utilise ce lecteur CSV pour lire les données: http://www.codeproject.com/KB/database/CsvReader.aspx
Et il est tout fonctionne très bien!
Maintenant, mon client a ajouté un nouveau champ à la fin du fichier, qui est « ClaimDescription », et dans certaines de ces descriptions de réclamation, les données a des citations en elle, par exemple:
« SUMISEI MARU NO 2 "- mer du Japon
Cela semble causer un mal de tête majeur pour mon application. Je reçois une exception qui ressemble à ceci:
Le fichier CSV semble être endommagé près de l'enregistrement '1470' champ '26 à la position '181'. Données brutes actuelles: ...
Et dans ce "données brutes", bien sûr le champ de description de réclamation montre des données avec des guillemets.
Je veux savoir si quelqu'un a déjà eu ce problème auparavant, et l'ai-je contourné? Évidemment, je peux demander au client de modifier les données qu'il m'a initialement envoyées, mais il s'agit d'un processus automatisé qu'il utilise pour générer le fichier délimité par des tabulations; et je préfère l'utiliser en dernier recours. Je pensais que je pourrais peut-être ouvrir le fichier en utilisant un TextReader standard auparavant, échapper tous les devis, écrire le contenu dans un nouveau fichier, puis alimenter ce fichier dans le lecteur CSV. Il est probablement utile de mentionner que la taille moyenne de ces fichiers délimités par des tabulations est d'environ 40 Mo.
Toute aide est grandement appréciée!
Cheers, Sean
voir ceci -> http://www.secretgeek.net/csv_trouble.asp – IanL
@Oded: La question ne demande pas comment faire face aux champs cités. Il s'agit de champs * non-cotés * contenant des guillemets. – LukeH
@Luke: Hmmm. J'ai commencé à être en désaccord avec vous, sur la base qu'il n'y a pas de véritable «norme» CSV. J'ai trouvé un RFC pour ça, et on dirait que tu as raison d'après ça. –