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

Python字典追加值问题:如何将所有Produkt-Name项存入字典?

问题分析与解决

你的问题出在每次循环都直接覆盖了test变量(或者用update时,同一个key会替换旧值),所以最终只保留了最后一条数据。要收集所有"Produkt-Name"对应的项,有两种常用方案:

方案1:用列表存储多个产品名字典

适合需要每个产品名作为独立字典的场景:

# 初始化空列表用于存放所有产品名字典
product_list = []
for col_number, element in enumerate(headings):
    # 先定位到"Produkt-Name"所在列,再遍历行
    if element == "Produkt-Name":
        for row in ws.iter_rows():
            cell_value = row[col_number].value
            if cell_value is not None:
                product_list.append({"productname": cell_value})

方案2:用单个字典存储所有产品名(值为列表)

适合把所有产品名集中在一个字典的场景:

# 初始化字典,value设为空列表
test = {"productname": []}
for col_number, element in enumerate(headings):
    if element == "Produkt-Name":
        for row in ws.iter_rows():
            cell_value = row[col_number].value
            if cell_value is not None:
                test["productname"].append(cell_value)

额外优化说明

把判断列名的逻辑移到内层循环外面,避免每行都重复判断列名,能提升代码运行效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 17:10:28