Si vous ne souhaitez pas inclure un bibliothèque tierce et que vos fichiers CSV sont simplement formatés sans guillemets ni virgules intégrées, vous pouvez les analyser facilement à l'aide des fonctions de la bibliothèque standard. Utiliser read_line
dans une boucle ou dans une fonction récursive pour lire chaque ligne à tour de rôle. Pour diviser chaque ligne, appelez Str.split_delim
(liez votre programme avec str.cma
o str.cmxa
). Appeler float_of_string
pour analyser chaque colonne en un flotteur.
let comma = Str.regexp ","
let parse_line line = List.map float_of_string (Str.split_delim comma line)
Notez que cela ne fonctionnera pas si vos champs contiennent des guillemets. Il serait facile de supprimer les guillemets au début et à la fin de chaque élément de la liste retournée par split_delim
. Cependant, s'il y a des virgules intégrées, vous avez besoin d'un analyseur CSV approprié. Vous pouvez avoir des virgules intégrées si vos données ont été produites par un programme localisé en français - le français utilise les virgules comme séparateur décimal (par exemple, l'anglais 3.14159
, français 3,14159
). Écrire des données en virgule flottante avec des virgules au lieu de points n'est pas une bonne idée, mais c'est quelque chose que vous pouvez rencontrer (certaines exportations CSV de feuilles de calcul, par exemple). Si vos données proviennent d'un programme Fortran, tout devrait bien se passer.