PHP : récupérer données CSV dans array
Résolu
Blanc57
Messages postés
369
Date d'inscription
Statut
Membre
Dernière intervention
-
Blanc57 Messages postés 369 Date d'inscription Statut Membre Dernière intervention -
Blanc57 Messages postés 369 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je viens juste de me mettre à PHP car j'ai un travail à rendre pour lequel PHP ferait l'affaire grâce à JPGraph pour la génération de graph de Gantt.
Je cherche à récupérer des données dans un CSV et les exploiter dans un array.
J'en suis là :
$fichier = file("/tmp/2data.txt");
$total = count($fichier);
for($i = 0; $i < $total; $i++)
{
$lin = $fichier[$i];
list($varA, $varB, $varC) = split(';', $lin);
$csvdat = array(
array($i, $varA, $varB, $varC),
);
}
for($j = 0; $j < $total; $j++)
{
$data = array(
array( $csvdat[$j][0], $csvdat[$j][1], $csvdat[$j][2], addTime($csvdat[$j][2], $csvdat[$j][3])),
//array(1," Label 2", "2001-01-26 10:00","08:00"),
//array(2," Label 3", "2001-01-26","10:00")
);
}
mais naturellement, cela ne fonctionne pas.
En fait mes données CSV d'origine sont du type :
LABEL;AAAA-MM-JJ HH:MM;HH:MM
Et je souhaiterais les retrouver dans l'array '$data', un peu comme les exemples commentés ci-dessus.
Merci d'avance à tout ceux qui pourront m'apporter leur aide.
Je viens juste de me mettre à PHP car j'ai un travail à rendre pour lequel PHP ferait l'affaire grâce à JPGraph pour la génération de graph de Gantt.
Je cherche à récupérer des données dans un CSV et les exploiter dans un array.
J'en suis là :
$fichier = file("/tmp/2data.txt");
$total = count($fichier);
for($i = 0; $i < $total; $i++)
{
$lin = $fichier[$i];
list($varA, $varB, $varC) = split(';', $lin);
$csvdat = array(
array($i, $varA, $varB, $varC),
);
}
for($j = 0; $j < $total; $j++)
{
$data = array(
array( $csvdat[$j][0], $csvdat[$j][1], $csvdat[$j][2], addTime($csvdat[$j][2], $csvdat[$j][3])),
//array(1," Label 2", "2001-01-26 10:00","08:00"),
//array(2," Label 3", "2001-01-26","10:00")
);
}
mais naturellement, cela ne fonctionne pas.
En fait mes données CSV d'origine sont du type :
LABEL;AAAA-MM-JJ HH:MM;HH:MM
Et je souhaiterais les retrouver dans l'array '$data', un peu comme les exemples commentés ci-dessus.
Merci d'avance à tout ceux qui pourront m'apporter leur aide.
A voir également:
- PHP : récupérer données CSV dans array
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
Il y a un problème avec le remplissage des tableaux, ça devrait être mieux comme ça :
Ou alors :
$fichier = file("/tmp/2data.txt"); $total = count($fichier); $csvdat = array(); //définition du tableau à remplir for($i = 0; $i < $total; $i++){ $lin = $fichier[$i]; list($varA, $varB, $varC) = split(';', $lin); $csvdat[] = array($i, $varA, $varB, $varC); //ajout d'un élément au tableau, l'élément contient un tableau } $data = array(); // idem... for($j = 0; $j < $total; $j++) $data[] = array( $csvdat[$j][0], $csvdat[$j][1], $csvdat[$j][2], AddTime($csvdat[$j][2], $csvdat[$j][3]));
Ou alors :
$fichier = file("/tmp/2data.txt"); $total = count($fichier); $data = array(); for($i = 0; $i < $total; $i++){ $lin = $fichier[$i]; list($varA, $varB, $varC) = split(';', $lin); $data[] = array( $i, $varA, $varB, AddTime($varB, $varC)); }
Merci beaucoup pour ton aide Flashy Joe, c'est exactement ce qu'il me fallait...
Je me suis encore cassé la tête une heure pour faire tourner JPGraph mais à présent, j'ai réussit à faire ce que je souhaitais et tout fonctionne.
C'est en grande partie grâce à toi car sans ton aide je me serais encore cassé la tête sur cette histoire d'array...
Merci encore.
Je me suis encore cassé la tête une heure pour faire tourner JPGraph mais à présent, j'ai réussit à faire ce que je souhaitais et tout fonctionne.
C'est en grande partie grâce à toi car sans ton aide je me serais encore cassé la tête sur cette histoire d'array...
Merci encore.