Considérez ce qui suit 2 par 2 tableau:importation et d'exportation CSV sont tous deux brisés dans Mathematica
x = {{"a b c", "1,2,3"}, {"i \"comma-heart\" you", "i \",heart\" u, too"}}
Si nous exportons que vers CSV puis l'importer à nouveau, nous ne recevons pas la même chose en arrière:
Import[Export["tmp.csv", d]]
En regardant tmp.csv, il est clair que l'exportation n'a pas fonctionné, car les guillemets ne sont pas correctement échappés.
Selon le RFC que je présume est résumée correctement sur Wikipedia's entry on CSV, la bonne façon d'exporter le tableau ci-dessus est la suivante:
a b c, "1,2,3"
"i ""heart"" you", "i "",heart"" u, too"
Importation précède ne donne pas le tableau d'origine non plus. L'importation est donc également cassée.
J'ai signalé ces bogues à [email protected] mais je me demande si d'autres solutions de contournement existent entre-temps.
Une solution consiste à simplement utiliser TSV au lieu de CSV. J'ai testé ce qui précède avec TSV et il semble fonctionner (même avec des onglets intégrés dans les entrées de la matrice).
Si cela vous dérange, essayez Import [Export ["string.csv", x, "CSV"]], ce qui va probablement gâcher votre journée. Pardon. –
@High Performance Mark: Je l'ai essayé mais je ne vois pas de différence lors de l'utilisation du paramètre "CSV" explicite. Que voulais-tu dire? – dreeves
Réponse de Wolfram: Merci d'avoir pris le temps de nous envoyer ce rapport. J'ai transmis vos exemples à notre groupe de développement. La solution recommandée à ce problème consiste à utiliser un format différent . Nous nous excusons pour la gêne occasionnée par ce problème. J'ai inclus vos informations de contact afin que vous puissiez être informé lorsque cela a été résolu. – dreeves