You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从CSV读取链接下载图片时出现list无decode属性错误的解决方法

问题解决:从CSV读取链接下载图片时的AttributeError错误

错误原因

csv.reader读取CSV文件后,返回的每一行数据是一个列表对象(哪怕每行只有一个链接,也会被封装成单元素列表)。而wget.download()的第一个参数要求传入字符串类型的URL,直接传入列表就会触发'list' object has no attribute 'decode'错误——底层的URL解析逻辑尝试对列表调用decode()方法,而列表没有这个属性。

修复后的代码

import csv
import wget  

# 读取CSV文件
with open('__memes_magic_thumbnails.csv', newline='') as csvfile:
    data = list(csv.reader(csvfile))

# 若CSV有表头,取消下面一行注释跳过第一行
# data = data[1:]

k = 0
for link in data:
    print(k)
    # 取每行的第一个元素作为URL(假设每行只有一个链接)
    img_url = link[0]
    # 动态生成文件名,避免下载的图片互相覆盖
    save_path = f"vid/logo_{k}.jpg"
    wget.download(img_url, save_path)
    k += 1

print("success")

关键修改点

  • 提取实际URL:用link[0]获取单元素列表里的字符串链接,满足wget.download()的参数类型要求
  • 避免文件覆盖:原代码所有图片都存为logo.jpg会导致后续文件覆盖之前的,改成logo_{k}.jpg可保留所有下载的图片
  • 可选跳过表头:如果你的CSV第一行是表头(比如"thumbnail_url"),取消data = data[1:]的注释即可跳过表头行

内容的提问来源于stack exchange,提问作者Abhishek Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 06:50:21