2017-05-26 3 views
-1

Ce que j'est les données CSV de données suivantes (2 colonnes)image downloader + changement de nom basé sur CSV

  • ImageURL1, Nom A
  • ImageURL1, Nom B
  • ImageURL2, Nom C

Je veux télécharger l'image trouvée à ImageURL1, et ont deux images fichier comme nom a et B Nom

est-il un moyen pour faire ça?

Idéalement, je voudrais télécharger chaque image + renommer le fichier, puis répéter la séquence à nouveau.

Ou ont tous les atouts d'image uniques et dupliquer ces fichiers plus tard dans les nouveaux noms d'image

Peut-être avec Python/soupe/gros téléchargeur d'image, etc

Répondre

2

Vous pouvez importer urllib3 Module et utiliser la Voici

urllib.urlretrieve(img_url, "path/name_of_img.jpg") 

le premier argument est l'URL de l'image bientôt à télécharger et le second est le chemin vers le dossier/répertoire que vous voulez qu'il soit sauvé, plus le nom et l'extension du fichier image.

J'espère que cela fonctionne pour vous.

1

Avez-vous essayé du code? S'il vous plaît partager si vous avez. De ce que vous décrivez, il y a trois objectifs principaux: 1) ouvrir et lire le fichier CSV, 2) télécharger l'image 3) renommer le fichier. Je vais vous donner la direction générale pour chaque partie, mais il est à vous de compléter le code complet:

1) Ouvrir CSV et lire des données: Python dispose d'une bibliothèque spécifique pour CSV: CSV File Read and Write

Voici un exemple en utilisant csv.DictReader. Vous devrez modifier votre format de fichier CSV spécifique:

import csv 
with open('filename.csv', 'rb') as csvfile: 
    reader = csv.DictReader(csvfile) 
    for row in reader: 
     image_url = row['ImageURL'] # replace with your column heading 
     filename = row['Name'] # replace with your column heading 

2) Télécharger l'image du web: Vous pouvez utiliser urllib.urlretrieve pour télécharger l'image. Exemple:

import urllib 
urllib.urlretrieve(image_url, filename) 

3) Renommer le fichier. Le code ci-dessus va récupérer l'URL et enregistrer comme filename, alors peut-être que vous n'avez pas besoin de faire cette étape. Si vous le faites toujours, alors os.rename(src, dst) fera l'affaire.

Espérons que cela aide. Bonne chance à vous. Utilisez beaucoup d'instructions print pour déboguer votre code. La documentation Python est votre ami.