Importer un fichier CSV dans différentes tables [Résolu]

Signaler
Messages postés
4
Date d'inscription
mercredi 8 septembre 2010
Statut
Membre
Dernière intervention
9 septembre 2010
-
Messages postés
4
Date d'inscription
mercredi 8 septembre 2010
Statut
Membre
Dernière intervention
9 septembre 2010
-
Bonjour,
C'est mon premier message sur le forum.
J'ai un fichier Excel que j'ai converti en CSV.
J'aimerai l'importer dans ma base de données MySql.
Jusque là y a pas de probleme.
Mon problème: Importer ce fichier, mais dans différents champs de différentes tables
Est-ce possible?
Merci pour votre aide

7 réponses

Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
12
Non, il te faudrait le diviser en plusieurs fichiers. ou alors faire du code.
S.
Messages postés
24
Date d'inscription
mardi 7 mars 2006
Statut
Membre
Dernière intervention
27 décembre 2010

Tu peux d'abord importer les données telles quelles sont, puis avec sql faire des insert, update ...
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
25
Salut,

Que ce soit 8000 enregistrements ou 800000 ne change rien.

Perso je passerai par un script PHP, même fait à la va vite (pour le coup qu'importe le temps d'exécution ou la propreté du code)

Une petite boucle avec fgetcsv(), une insertion des valeurs du tableau retourné dans les bons champs/tables et le tour est joué.

$a = fopen(ton_fichier, r)
while($b = fgetcsv($a...) !== false) {
mysql_query("INSERT into machin (bidule, truc, ...) VALUES ($b[x], $b[z], ...);
mysql_query("INSERT into machine (trucmuche, bazar, ...) VALUES ($b[r], $b[y], ...);

}

Ca reste simple à faire, et même si tu es "nul de ce côté" tente tout de même d'écrire quelque chose, tu auras toute l'aide nécessaire sur ce forum.

Cordialement,

Kohntark -
Messages postés
4
Date d'inscription
mercredi 8 septembre 2010
Statut
Membre
Dernière intervention
9 septembre 2010

1.Merci syndrael pour votre réponse, je vais voir avec le code quoique je suis nul de se côté.
2.Merci omarino_007 à vous aussi, ca parait facile mais j'ai un fichier avec 8000 fichies.
Merci comme même pour votre aide.
Messages postés
4
Date d'inscription
mercredi 8 septembre 2010
Statut
Membre
Dernière intervention
9 septembre 2010

Merci kohntark
Comme vous dites je vais essayer d'ecrire quelque chose.
Très sympa de votre part
Messages postés
2381
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
12
N'oublie pas d'inclure un effacement de tes tables avant de lancer ton script.. OU alors je vais peut etre augmenter le niveau d'exigence.. mais essaie d'inclure cela dans un mécanisme de gestion des erreurs de type: try/catch et de passer tes tables en InnoDB.. Pourquoi ??
Tout simplement parce que si tu commences ta floppée d'insert et si ça plante en plein milieu tu ne pourras pas relancer ton script si tu as une clé primaire..
Voilou..
S.
Messages postés
4
Date d'inscription
mercredi 8 septembre 2010
Statut
Membre
Dernière intervention
9 septembre 2010

Merci pour ce message mais je suis désolé de vous décevoir : je n'ai rien compris
Merci comme même pour l'aide