J'essaye d'analyser un fichier .csv dans une base de données MySQL, et ce n'est pas amusant.Problème d'analyse CSV vers MYSQL
Certaines lignes ressemblent à ceci:
"Valeur", valeur "Value3", "la valeur, la valeur"
Et certains ressemblent à ceci:
valeur, valeur, valeur ,, valeur
Cette preg_split a bien fonctionné, sauf pour les champs qui étaient vides:
foreach ($row as $item) {
$item = preg_split("/[,]*\\\"([^\\\"]+)\\\"[,]*|[,]+/", $item, 0, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
}
Lorsque j'ai supprimé "PREG_SPLIT_NO_EMPTY", j'ai ajouté une valeur vide supplémentaire à la fin de $ item. Existe-t-il une expression regex qui fonctionnerait pour cela?
Vous pourriez être en mesure de rendre votre vie plus facile en utilisant les fonctionnalités existantes dans MySQL, comme Load Data Infile: http://dev.mysql.com/doc/refman/5.1/en/load-data.html –