【问题标题】:Image downloader + rename based on CSV [closed]图片下载器+基于CSV的重命名[关闭]
【发布时间】:2017-10-27 18:37:46
【问题描述】:

我拥有的是以下数据 CSV 数据(2 列)

  • ImageURL1,名称 A
  • ImageURL1,名称 B
  • ImageURL2,名称 C

我想下载在 ImageURL1 找到的图像,并有两个图像文件分别为名称 A 和名称 B

有没有办法做到这一点?

理想情况下,我想下载每个图像 + 重命名文件,然后再次重复该序列。

或者拥有所有独特的图像资产,然后将这些文件复制到新的图像名称中

也许用 Python / Soup / 批量图像下载器等

【问题讨论】:

    标签: python image csv rename file-rename


    【解决方案1】:

    您尝试过任何代码吗?有的话请分享。根据您的描述,有三个主要目标:1)打开并读取 CSV 文件,2)下载图像 3)重命名文件。我将为您提供每个部分的大致方向,但您需要完成完整的代码:

    1) 打开 CSV 并读取数据:Python 有一个特定的 CSV 库:CSV File Read and Write

    这是使用csv.DictReader 的示例。您必须针对您的特定 CSV 文件格式进行修改:

    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) 从网络下载图片:您可以​​使用urllib.urlretrieve 下载图片。示例:

    import urllib
    urllib.urlretrieve(image_url, filename)
    

    3) 重命名文件。上面的代码会检索到url并保存为filename,所以也许你不需要做这一步。如果你仍然这样做,那么os.rename(src, dst) 会成功的。

    希望这会有所帮助。祝你好运。使用大量print 语句来调试您的代码。 Python 文档是您的朋友。

    【讨论】:

      【解决方案2】:

      您可以导入 urllib3 模块并使用以下

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

      第一个参数是即将下载的图像的 URL,第二个参数是要保存的文件夹/目录的路径,以及图像文件的名称和扩展名。

      我希望这对你有用。

      【讨论】:

        猜你喜欢
        • 2015-06-06
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-29
        相关资源
        最近更新 更多