Import .csv dans Flash -> impossible de spliter [Résolu]

Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
- - Dernière réponse : BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
- 28 juin 2011 à 14:45
Hello,

je travaille actuellement sur la récupération de données dans Flash pour un projet précis, la contrainte principale est que le fichier que je dois importer sera impérativement un .csv.
Je parviens sans souci à importer le .csv dans Flash, là où je coince c'est que je n'arrive pas à "spliter" les lignes -> en somme je n'arrive pas à éradiquer les retours à la ligne du .csv.
Lorsque je fais un test avec une chaîne de caractères créée dans Flash le split marche à merveille, mais sur le .csv impossible de virer les retours à la ligne -> le résultat c'est que cela fausse mon "champ de vision" par rapport au tri que j'ai à faire.
Si vous avez des suggestions quand à ce problème je suis tout ouï, voici mon code :
var csvLoader:URLLoader = new URLLoader();
csvLoader.dataFormat = URLLoaderDataFormat.TEXT;
csvLoader.load(new URLRequest("thedata.csv"));
csvLoader.addEventListener(Event.COMPLETE, CSVLoaded);

var str:String;
var TABgene:Array = new Array();
var i:Number;
var longueur:Number = 0;

function CSVLoaded(event:Event):void {
    str = csvLoader.data as String;
trace(str);
    TABgene = str.split("\n");
trace(TABgene.length);
    for (i = 0; i < TABgene.length; i++) {
longueur += 1;
        TABgene[i] = TABgene[i].split(';');
    }
}


Et voici le .csv :
code;gamme;sgamme;couleur;matiere;quantite;stock;dest;exp
55232B;toto;;877;AD;10000;;France;01/01/00
877341C;tutu;;877;AD;10000;;France;02/01/00
477322B;tata;;877;AD;10000;;France;03/01/00
633861C;tete;;877;AD;4000;;France;04/01/00
321322B;titi;;877;AD;4000;;France;05/01/00


Merci d'avance à ceux qui pourront me mettre sur la voie ,

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;



BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
3
Merci
Problème résolu :

il suffit en fait de choisir "CSV (Windows)(Séparateur point virgule)" au lieu de "CSV(Séparateur point virgule)" dans Excel lors de l'enregistrement du .csv pour que les retours chariot soient bien détectés dans Flash (et dans PHP accessoirement d'après le post que j'ai trouvé).

A plus ,

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 191 internautes nous ont dit merci ce mois-ci

Commenter la réponse de BBFUNK01
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
Bon, il s'avère que le problème vient surement du .csv -> lorsque j'ouvre le .csv et que je refais manuellement les retours à la ligne, ça fonctionne ensuite dans Flash. Donc je présume qu'il faut que je vois ça en amont à la création du .csv.

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;
Commenter la réponse de BBFUNK01
Messages postés
465
Date d'inscription
mardi 17 avril 2007
Statut
Membre
Dernière intervention
4 mai 2013
1
0
Merci
Bonjour,

Vérifie que tes codes php de retour à ligne sont pas entre apostrophes.
Car ils ne seront pas interprétés
Met les entre guillemets et ça devrais marché.

"\n"

Cordialement
Commenter la réponse de aerolyte
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
0
Merci
Hello Aerolyte,

en fait je n'utilise pas PHP pour charger le .csv, à la base le .csv est un fichier excel .xls que j'enregistre sous .csv afin de le récupérer dans Flash. Le seul problème, et c'est ce que j'ai vérifié il y a 1 heure, c'est qu'une fois enregistré sous .csv et chargé dans Flash, le split sur "\n" ne fonctionne pas -> comme si les retours à la ligne dans mon .csv n'étaient pas reconnus... Alors que si j'ouvre mon .csv dans un éditeur de texte et que je refais manuellement les retours à la ligne ça marche. Bref, je ne sais pas encore comment régler le problème, mais le fait est que c'est dû soit à l'encodage de mon .csv (pourtant en UTF8), soit à une autre option lors de l'enregistrement de mon .csv.

Après si je ne trouve pas une solution "brute" dans Flash, j'essaierai de lire le fichier .csv via PHP puis envoyer les données à Flash, mais je trouverai cela dommage dans la mesure où je présume qu'il doit y avoir une astuce pour résoudre le problème sans passer par PHP.

Thanks ,

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;
Commenter la réponse de BBFUNK01