|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
Bonsoir,
J'ai un fichier très lourd de plus de 100 mo en CSV. En fessant un sur mon fichier voici ce que j'ai "0","-","-","-","-","-","-","-","-","-" Toutes les lignes son pareil avec des donnée différent bien entendu Je voudrai les insérer dans une base de donnée donc voila mes commandes que j'ai faite et qui ne fonctionne pas toutes très bien. La première fonctionnel : Code :
Code :
Même si avant je fais un cat monFichier.CSV > fichier.sql cela ne change rien. Merci de votre aide. Edit : peut être que vous avez un moyen plus simple pour rentrer ce gros fichier dans une base de donnée. Mais j'ai pensé à celle là qui est assez rapide si elle marche. |
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
||
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
Merci de ta réponse rapide mais je me retrouve pour les 10 premieres lignes avec :
Citation:
Citation:
|
||
|
|
00
|
|
|
#4 | ||
|
Membre éclairé
![]() Inscription : février 2011 Messages : 83 ![]() |
Code awk :
__________________
Neon Suite by FRUiT (kde4.6) http://tinyurl.com/yzm7cee "Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley) clean |
||
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
Merci FRUIT mais je ne connais vraiment rien avec la commande awk.
|
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Voila ce que j'obtiens sur ton exemple :
Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
||
|
|
00
|
|
|
#7 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
Donc avec la commande cat -A en en arrêtant peu de temps après l’exécution car il doit y avoir plus de 1 million de ligne voici les nouvelle lignes qui apparaisse :
Code :
Merci de ton aide |
||
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : février 2011 Messages : 83 ![]() |
De toute façon avec les retours chariots microsoft ^M, elle ne marche pas mieux que le sed...
Il faudrait préalablement traiter ton fichier avec par exemple ceci ou cela Oublie pas de faire des backups.
__________________
Neon Suite by FRUiT (kde4.6) http://tinyurl.com/yzm7cee "Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley) clean |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
A mais je ne dis pas le contraire mais c'était juste pour te dire qu'il faudrait que tu m'explique un peu plus comment ta commande fonctionne car je ne connais rien.
|
|
|
00
|
|
|
#10 | |||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Citation:
Il faut convertir ton fichier en mode Unix avant de lancer les commandes (sed ou awk). Voir la FAQ
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|||
|
|
10
|
|
|
#11 |
|
Membre éclairé
![]() Inscription : février 2011 Messages : 83 ![]() |
Pour chaque ligne du fichier plop,
Code awk :
'{ print "INSERT INTO matable VALUES ("
suivie de la ligne entière en question suivie de la string ");" Les accolades {} signifient de faire une action sur la ligne (ici ajouter du texte avant et après). Les apostrophes simples ' ' délimitent le script awk à exécuter sur le fichier plop.
__________________
Neon Suite by FRUiT (kde4.6) http://tinyurl.com/yzm7cee "Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley) clean |
|
|
20
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
Merci beaucoup à vous deux.
Bonne journée. |
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() |
Question con : tu n'as pas un utilitaire avec ta bdd qui permettrait de faire ça proprement ?
|
|
|
00
|
|
|
#14 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 125 ![]() |
Va faire cela sur une machine linux sans interface graphique ainsi qu'un fichier de plus de 100 MO
Au total plus de 2 million de lignes |
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() |
Ben justement, utiliser un truc comme mysqlimport sous MySQL ou autre me paraît vachement plus sûr que de transformer 2 millions de lignes avec sed pour en faire des INSERT... pour peu que tu aies un " qui traîne, un saut de ligne au mauvais moment ou que sais-je, ça va foirer... alors qu'un outil spécifique fera des contrôles à priori...
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com