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

求助:spare_parts模块打印全数据但Excel导出仅获部分数据

问题排查与修复

核心问题

你当前的备件数据处理逻辑存在错误:三个独立的for循环分别遍历所有备件编号、名称、价格,最后仅将每个循环的最后一个值存入字典并添加到列表。这导致每个备件表格只会生成一条数据,而非每条备件对应一条记录,自然导出Excel后数据不完整。

修复方案

需要先定位备件表格的每一行,再在每行内分别提取编号、名称、价格,确保三者一一对应。修改后的备件处理代码如下:

Spare_part_list = soup.find_all('table', class_='data table additional-attributes')

for table in Spare_part_list:
    # 找到表格里的所有数据行
    rows = table.find_all('tr')
    for row in rows:
        # 在当前行内分别提取三个字段,加上异常处理避免报错
        try:
            Spare_part_number = row.find('td', {'data-th': 'Art. No.:'}).text.strip()
        except:
            Spare_part_number = ''
            
        try:
            Spare_part_name = row.find('td', {'data-th': 'Description'}).text.strip()
        except:
            Spare_part_name = ''
            
        try:
            Spare_part_price = row.find('td', {'data-th': 'Price:'}).text.strip()
        except:
            Spare_part_price = ''
            
        # 每一行生成一个备件字典并添加到列表
        Spare_parts = {
            'Spare part number': Spare_part_number,
            'Spare part name': Spare_part_name,
            'Spare part price': Spare_part_price
        }
        Spare_parts_list.append(Spare_parts)

额外优化建议

  • 建议给备件数据添加关联的主产品Reference(火车模型编号),这样Excel里的备件能对应到具体模型,方便后续使用。只需在Spare_parts字典里添加'Reference': Reference即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:30:52