[résolu] Export Excel -> MySql
9 messages • Page 1 sur 1
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
[résolu] Export Excel -> MySql
Salut les WRistes,
Je vous soumet un petit problème qui commence à m'énerver depuis ce matin. Voila, j'ai réalisé un extranet qui doit se charger de faire des stats sur des demandes de documentations passer sur 3 sites différents. Tout allait bien jusque ici puisque je récupérais automatiquement les données des 3 sites en XML pour les importer dans la base de données de l'extranet.
Et voila qu'on me demande d'importer toutes les demandes passées par couponning, téléphone et fax depuis 2002. J'ai donc tout récupérer sous Excel (plus de 25000 enregistrements en tout).
Je souhaite donc récupérer les données Excel pour les importer dans ma base de données :
1- J'ai pensé à enregistrer mon fichier en CSV pour analyser chaque ligne, faire un explode() sur les caractères de séparation et le tour était jouer : NON, ya plein de retour de ligne dans les formats des adresses donc pas trop envisageable à moins que je retouche tout le fichier à la main (faut pas rêver)
2- J'ai pensé à enregistrer mon fichier en XML : vu ce que ça donne, j'imagine même pas comment je vais pouvoir faire une moulinette pour l'intégrer dans ma base de données (trop naze l'export en XML d'Excel)
Connaissez-vous une autre méthode qui pourrait marcher ?
Savez-vous comment je pourrais enlever ces put**** de retour de ligne dans le fichier Excel ?
Une des pistes serait d'enregistrer mon fichier en SYLK, est-ce que quelqu'un a une adresse d'un script PHP qui pourrait lire du SYLK (je sais exporter une base vers SYLK mais pas l'inverse, snifff) ?
Je vous soumet un petit problème qui commence à m'énerver depuis ce matin. Voila, j'ai réalisé un extranet qui doit se charger de faire des stats sur des demandes de documentations passer sur 3 sites différents. Tout allait bien jusque ici puisque je récupérais automatiquement les données des 3 sites en XML pour les importer dans la base de données de l'extranet.
Et voila qu'on me demande d'importer toutes les demandes passées par couponning, téléphone et fax depuis 2002. J'ai donc tout récupérer sous Excel (plus de 25000 enregistrements en tout).
Je souhaite donc récupérer les données Excel pour les importer dans ma base de données :
1- J'ai pensé à enregistrer mon fichier en CSV pour analyser chaque ligne, faire un explode() sur les caractères de séparation et le tour était jouer : NON, ya plein de retour de ligne dans les formats des adresses donc pas trop envisageable à moins que je retouche tout le fichier à la main (faut pas rêver)
2- J'ai pensé à enregistrer mon fichier en XML : vu ce que ça donne, j'imagine même pas comment je vais pouvoir faire une moulinette pour l'intégrer dans ma base de données (trop naze l'export en XML d'Excel)
Connaissez-vous une autre méthode qui pourrait marcher ?
Savez-vous comment je pourrais enlever ces put**** de retour de ligne dans le fichier Excel ?
Une des pistes serait d'enregistrer mon fichier en SYLK, est-ce que quelqu'un a une adresse d'un script PHP qui pourrait lire du SYLK (je sais exporter une base vers SYLK mais pas l'inverse, snifff) ?
Dernière édition par blman le Mer Mai 04, 2005 15:54, édité 1 fois.
- lesbonsplansdesophie
- WRInaute passionné

- Messages: 518
- Inscription: Lun Mar 01, 2004 10:04
c'est quoi le format de ton fichier excel ?
si tu as un truc du style:
A1 B1 C1
nom prenom tel
dans excel, a la fin de toute les colonnes (ici en D1), tu fais
= A1 & ";" & B1 & ";" & C1 & "\n"
Cela aura pour effet de concatener tes colonnes avec un point virgule entre chaque, et un caractere d'echappement "\n" a la fin.
Tu recopies la formule sur toutes les lignes.
Ensuite tu copies la colonne obtenue dans une nouvelles feuille (fais copier / Edition > Collage Special... > Valeurs)
Enfin tu fais enregistrer sous > fichier texte tu dis oui a chaque message d'avertissement et normalement tu auras un fichier importable directement dans phpmyadmin (selectionne ta table puis 'inserer un fichier texte dans la table')
J'espere que ca marchera ?
si tu as un truc du style:
A1 B1 C1
nom prenom tel
dans excel, a la fin de toute les colonnes (ici en D1), tu fais
= A1 & ";" & B1 & ";" & C1 & "\n"
Cela aura pour effet de concatener tes colonnes avec un point virgule entre chaque, et un caractere d'echappement "\n" a la fin.
Tu recopies la formule sur toutes les lignes.
Ensuite tu copies la colonne obtenue dans une nouvelles feuille (fais copier / Edition > Collage Special... > Valeurs)
Enfin tu fais enregistrer sous > fichier texte tu dis oui a chaque message d'avertissement et normalement tu auras un fichier importable directement dans phpmyadmin (selectionne ta table puis 'inserer un fichier texte dans la table')
J'espere que ca marchera ?
-

Gaëtan R. - WRInaute impliqué

- Messages: 311
- Inscription: Lun Avr 26, 2004 16:24
Essaie de voir du côté des macros excel pour ton problème de retour ligne. Ce site : http://www.excelabo.net/xl/caracteres.php 
Sophie, ta solution revient en fait à enregistrer sous un fichier CSV avec des séparateurs ;
Le problème, c'est que j'ai des retours de lignes à l'intérieur même des colonnes. J'ai tout essayer pour les virer mais je n'y arrive pas.
Voila un exemple d'une ligne qui me fait chi** en CSV :
92;VRAI;03/06/2002;VRAI;VRAI;BON****;patri**;;"le Glaizil bat a2
39,rue *******";05000;Gap;France;049253*****;;*****@wanadoo.fr;Employé de commerce;35 - 44 ans;;non;- - -;;Amis;;Français;Internet;- - -;;FAUX;;;
Vous voyez, sur l'adresse, il y a un retour de ligne qui s'est insérer puisqu'à l'époque, le champ était un textarea. Aujourd'hui, j'ai mis 2 champs adresses de type text pour éviter ce phénomène (en plus je génère des étiquettes pour l'envoie des documentations, donc le textarea n'est plus du tout valable car souvent le texte débordais de l'étiquette : il a donc fallu que je limite la taille de chaque champs).
Le problème, c'est que j'ai des retours de lignes à l'intérieur même des colonnes. J'ai tout essayer pour les virer mais je n'y arrive pas.
Voila un exemple d'une ligne qui me fait chi** en CSV :
92;VRAI;03/06/2002;VRAI;VRAI;BON****;patri**;;"le Glaizil bat a2
39,rue *******";05000;Gap;France;049253*****;;*****@wanadoo.fr;Employé de commerce;35 - 44 ans;;non;- - -;;Amis;;Français;Internet;- - -;;FAUX;;;
Vous voyez, sur l'adresse, il y a un retour de ligne qui s'est insérer puisqu'à l'époque, le champ était un textarea. Aujourd'hui, j'ai mis 2 champs adresses de type text pour éviter ce phénomène (en plus je génère des étiquettes pour l'envoie des documentations, donc le textarea n'est plus du tout valable car souvent le texte débordais de l'étiquette : il a donc fallu que je limite la taille de chaque champs).
une petit recherche sur google :
http://www.iamnota.com/content/view/14/29/
c'est un convertisseur xls2xml ....
j'ai pas eu le courrage de le tester
tien moi au courant si ça marche
http://www.iamnota.com/content/view/14/29/
c'est un convertisseur xls2xml ....
j'ai pas eu le courrage de le tester
tien moi au courant si ça marche
aladdin, les liens qu'ils ont mis sur la page ne fonctionne pas...
Gaëtan R., j'ai regardé ton lien, pas mal. J'espère que je vais trouvé quelquechose avec les macros (que je ne connais pas, encore du triturage de cerveau en vue)
Gaëtan R., j'ai regardé ton lien, pas mal. J'espère que je vais trouvé quelquechose avec les macros (que je ne connais pas, encore du triturage de cerveau en vue)
MySQL est capable d'importer un fichier MySQL tout seul comme un grand
En oubliantpas lors de l'export CVS d'ajouter des doubles quotes autour des champs texte
- Code: Tout sélectionner
LOAD DATA LOCAL INFILE '/importfile.csv'
INTO TABLE test_table
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(field1, filed2, field3);
En oubliantpas lors de l'export CVS d'ajouter des doubles quotes autour des champs texte
Shroom, J'ai pas trouvé comment faire pour rajouter des " pour encadrer mes valeurs lors de l'export en CSV.
Par contre, le lien fourni par Gaëtan R m'a permis de trouver une solution pour virer les retours de ligne. Pour ceux que ça interresse, la voici :
- je sélectionne toutes mes cellules où il y a des retours de ligne
- je vais dans édition / rechercher / remplacer
- pour rechercher, j'inscris 0010 (ou 0013) en tenant la touche ALT enfoncée
- je remplace par " - " ou un autre caractère, peu importe
- je clique sur "Remplacer" et là , c'est un gros YES de soulagement car je n'est plus un seul retour de ligne. VICTORY !!!
Merci encore à tous de vous être donné la peine de m'aider. C'est à charge de revanche comme d'habitude...
Par contre, le lien fourni par Gaëtan R m'a permis de trouver une solution pour virer les retours de ligne. Pour ceux que ça interresse, la voici :
- je sélectionne toutes mes cellules où il y a des retours de ligne
- je vais dans édition / rechercher / remplacer
- pour rechercher, j'inscris 0010 (ou 0013) en tenant la touche ALT enfoncée
- je remplace par " - " ou un autre caractère, peu importe
- je clique sur "Remplacer" et là , c'est un gros YES de soulagement car je n'est plus un seul retour de ligne. VICTORY !!!
Merci encore à tous de vous être donné la peine de m'aider. C'est à charge de revanche comme d'habitude...
9 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Gestion des langues et des sessions en PHP / MySQL
- Google Presently : le concurrent de Powerpoint
- Le point sur Google en Janvier 2007
- Ecrire un sitemap pour Google News
- Les albums web Picasa passent à 1 Go de stockage
- Importer tout son blog dans Google Base
- Passage à l'heure d'été/hiver sur un forum phpBB
- Googlebot, le robot d'indexation de Google
- GoogleStats : analyse temps réel des visites de Google sur votre site
- Sortie officielle de GoogleStats v2.0 !
Consultez la description détaillée des produits ou services de Google suivants : Google Présentations
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum