Загрузка изображений в локальную папку с URL-адресов в CSV-файле на Python

#python #pandas #urllib #enumeration

#python #pandas #urllib #перечисление

Вопрос:

Я создал программу для получения изображений из URL-адресов в CSV-файле и хочу загрузить ее в локальную папку на Python, но программа показывает следующую ошибку

«Ошибка типа: невозможно использовать строковый шаблон для байтоподобного объекта»

Пожалуйста, проверьте приведенный ниже код

 import pandas as pd
import urllib.request 


def url_to_jpg(i, url , File_Path):
    filename = 'image_{}.jpg'.format(i)
    full_path = '{}{}'.format(File_Path, filename)
    urllib.request.urlretrieve(url, full_path)
    print('{} saved.'.format(filename))
    return None


FileName = "C:/Users/IT City/Desktop/Kwiat-USA/KavantaCSV.csv"
File_Path = "C:/Users/IT City/Desktop/Kwiat-USA/images"

urls = pd.read_csv(FileName)

for i , url in enumerate(urls.values):
    url_to_jpg(i, url , File_Path)
 

Нужна ваша немедленная помощь. Помощь будет высоко оценена.

Спасибо

Ответ №1:

Может быть, вам нужно его расшифровать? -или вы можете просто использовать библиотеку запросов.

 r = requests.get(url) 
f = open(filename, "wb ")
f.write(r.content)
f.close()
 

Ответ №2:

URL-адрес, передаваемый urlretrieve, представляет собой массив. urls.values дает 2d-массив.

всегда помогает, если также публикуется трассировка стека.

Комментарии:

1. Привет, Adithay, csv-файл содержит только один столбец с именем «URL», один столбец

2. возвращаемым типом всегда будет 2d-массив. независимо от данных. почему бы вам не распечатать переменную url в методе url_to_jpg и не проверить ее один раз.