Bonjour,
J'importe un fichier CSV dans une base de donnée postgreSQL comme ceci :
D'après un de mes tuteurs de stage, il serait plus interessant de ne pas passer par une boucle qui impose une multitude de querry à ma base de données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 tmpfile1=`mktemp` IDIMPORT=`cat idImport.txt` inputFile=fichier.csv cat $inputFile | while read line; do VAR1=`echo $line | awk -F "|" '{ print $1}'` VAR2=`echo $line | awk -F "|" '{ print $2}'` SQL="INSERT INTO key_value (kv_name, kv_value, id_import) VALUES ('$VAR1', '$VAR2', CAST('$IDIMPORT' AS INTEGER));" echo $SQL >> $tmpfile1 done psql -U user infoClient < $tmpfile1 rm -f tmpfile1
Il serait possible d'envoyer la totalité d'un fichier csv dans une base de données, mais je ne vois pas trop comment ^^ . J'ai deja eu du mal a trouver cette solution ci .
Quelqu'un aurait deja essayé ?
Partager