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

Python读取CSV存入字典报Too many values to unpack错误如何解决?

错误原因
  • 变量命名冲突:你先后将存储书籍的容器、文件读取句柄都命名为list_of_books,导致容器被文件对象覆盖,后续逻辑全部出错
  • 容器类型不匹配:初始化list_of_books时使用了{}(字典类型),字典无append方法,后续追加元素会直接报错,需要修改为列表类型[]
  • 字符串未拆分就解包:你遍历文件得到的每一行是完整字符串,需要先按CSV分隔符(通常为逗号)拆分后才能解包为3个变量,且你解包时错误调用了文件对象而非当前读取到的行数据
修复后代码
def retrieve_books():
    list_of_books = []

    with open("books.csv", "r", encoding="utf-8") as book_file:
        # 若CSV文件第一行是表头,可取消下一行注释跳过表头
        # next(book_file)
        for line in book_file:
            # 去除首尾换行、空白符,过滤空行
            line = line.strip()
            if not line:
                continue
            # 按逗号拆分后解包,额外strip去除字段前后多余空格
            title, author, year = [item.strip() for item in line.split(',')]
            list_of_books.append({
                "title": title,
                "author": author,
                "year": year
            })

    return list_of_books

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:06:03