Bonjour les développeurs,
J'ai un soucis j'aimerais importer un fichier .CSV de 8 Go dans POSTGRESQL ou MYsql.
J'ai essayé dans les deux cas et je n'y arrive pas il y a toujours de messages d'erreurs.
J'ai parcouru plusieurs forum et cela ne marche toujours pas.
PS: Vous pouvez télécharger le fichier sur l'url : https://www.data.gouv.fr/fr/datasets...ries-produits/
Je vous explique tout de même ce que j'ai essayé :
1: Ma première idée c’était tout simplement de splitter le fichier donc j'ai téléchargé les logiciels :
Little CSV , SplitterCSV , bankCSV SPLITTER
Et tous ces logiciels s’arrêtent avant la fin du fichier (message d'erreur ou carrément ils se ferment)
2: Puis je me suis dit que je vais ouvrir le fichier avec excel : Mais il charge pendanr une heure sans reponse... J'ai un PC asus Intel I7 de 8Go de ram et disque SSD...
3: J'ai essayé de l'ouvrir avec le fichier texte : Il mets un message disant que le fichier est trop grand
4: J'ai essayé d'ouvrir le fichier avec OpenOffice il charge pendant 3 minutes puis il mets un message disant qu'il y a trop de ligne alors il affiche que les xxxxxxxxx premieres lignes et cela fonctionne, mais effectivement je ne vois pas le fichier en entier donc je ne peux pas le couper en plusieurs fichier.
5: j'ai voulu importer ce fichier dans MYsql ou POSTGRESQL : J'ai changé dans les fichiers de configurations dans les deux SGBD la limit maximum autorisées et la taille de mémoires autorisé mais je n'ai que des messages d'alerte
6: J'ai voulu faire en ligne de CMD DOS un fichier .BAT qui coupe le fichier en plusieurs fichiers et bien pffff cela ne fonctionne pas (Ce code fonctionne pour des petits fichiers):
Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 @echo off setlocal enabledelayedexpansion set $Nb-ligne=1000 set $Repertoire="C:\Users\Admin\Desktop\dossierDuFichierCSV" SET $Extension=*.csv for /f "delims=" %%a in ('dir %$repertoire%\%$extension% /aa /b') do (set $CompteLigne=1 set $CompteFichier=1 for /f "usebackq delims=" %%b in ("%%a") do (cls echo Traitement de : ["%%a"] Fichier : [!$CompteFichier!] Ligne : [!$CompteLigne!] if !$CompteLigne! equ %$Nb-ligne% (set /a $CompteFichier+=1 set /a $CompteLigne=1) echo %%b>>%%~na_!$CompteFichier!%%~xa set /a $CompteLigne!+=1) del %%a)
En tout cas merci d'avance à vous tous
Partager