【问题标题】:Download Images to Local Folder from Urls in CSV file in Python在 Python 中从 CSV 文件中的 Urls 将图像下载到本地文件夹
【发布时间】:2025-12-30 18:20:08
【问题描述】:

我编写了从 CSV 文件中的 Urls 获取图像的程序,并希望将其下载到 Python 的本地文件夹中,但程序显示以下错误

"TypeError: cannot use a string pattern on a bytes-like object"

请检查下面的代码

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)

需要您的即时帮助。非常感谢您的帮助。

谢谢

【问题讨论】:

    标签: python pandas urllib enumeration


    【解决方案1】:

    也许您必须对其进行解码? - 或者你可以简单地使用 requests 库。

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

    【讨论】:

      【解决方案2】:

      传递给 urlretrieve 的 url 是一个数组。 urls.values 给出了一个二维数组。

      如果堆栈跟踪也被发布,它总是有帮助的。

      【讨论】:

      • 嗨 Adithay,csv 文件仅包含一列名为“URL”的单列
      • 返回类型总是二维数组。与数据无关。为什么不在 url_to_jpg 方法中打印 url 变量并检查一次。