Comment parser un fichier csv via une url et le mettre dans une table

Finance et Excel

Voici un petit script maison écrit pour celles et ceux qui souhaiteraient mettre en ligne un catalogue produit via de l’affiliation.

Encore un article pour les apprentis-geek comme moi.

Quand vous souhaitez par exemple mettre un catalogue produit en ligne lorsque vous faites de l’affiliation par exemple ou que vous souhaitez tout simplement parser un fichier csv depuis une URL afin de mettre chaque ligne de ce fichier dans une table d’un SGBD, ce petit script maison est fait pour vous.

Le principe est simple.

Il suffit dans un premier temps de vous connecter en ligne de commande sur un terminal linux. Avec le shell bash, vous devez dans un premier temps vous connecter pour créer votre table, rien que du très basique à condition de connaître les rudiments du SQL.

 

Les étapes du script suivant permettent d’effectuer ces différentes actions:

  • vous appelez  dans un premier temps la fonction curl du bash permettant d’aller appeler une URL via le protocole http et pipez l’information à la 2ème commande.
  •  un peu de script awk dans un deuxième temps permet de récupérer les colonnes de votre fichier CSV qui vous intéressent (ici les $5 $9 $10…) en ajoutant à chaque fois comme séparateur un point virgule.
  • Vous vous connectez en ligne de commande à votre base de données (mysql….)
  • Vous chargez le CSV dans votre table cible en ayant ici vidé cette table des entrées précédemment enregistrées. N’oubliez de mettre le FIELDS TERMINATED BY qui correspond à la délimitation créee dans la dernière étape.

 

curl -S --mettre le lien http en .csv ici-- |
awk -F '|' '{print $5 ";" $9 ";" $10 ";" $11 ";" $12 ";" $13 ";" $14 ";" $19 ";" $29 ";" $53 }'>monfichier.csv;
mysql -h host -u username -ppassword databasename -e "TRUNCATE TABLE TEST_2; set @bh_dataformat='mysql';
LOAD DATA LOCAL INFILE 'monfichier.csv' INTO TABLE monfichier.csv FIELDS TERMINATED BY ';'"

 

Je ne suis pas un codeur, la meilleure méthode d’apprentissage reste donc la méthode rtfm en cas de problème, méthode qui  saura vous en dire bien plus que moi mais j’espère que ces quelques lignes de code auront pu vous aider à parser un flux d’affiliation…

Bon courage à vous!

Fiverr, la plateforme avec des milliers d'offres de freelances

Découvrez notre séléction de produits pour les particuliers et professionnels.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *