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

Pandas dataframe应展示多行却仅显示单行 对应代码如何修复?

问题原因
  • 代码中rows_processed.append(row)的缩进位置错误,当前它位于for循环结构之外,仅会在所有商品条目遍历完成后执行1次,只会将最后一次循环生成的单条商品数据存入列表,因此最终DataFrame仅返回1条记录。
修复方法
  • 调整rows_processed.append(row)的缩进,将其移入for循环内部,和if/else判断逻辑同级即可,每遍历1条商品就会对应写入1条数据到列表中。
    修正后的完整代码如下:
from bs4 import BeautifulSoup
import pandas as pd

soup = BeautifulSoup(wd.page_source)
items = soup.find("div", {"class": "items-grid-view"})

rows_processed=[]
for item in items.findAll("div", {"class": "item-cell"}):
    itemTitle = item.find("a", {"class": "item-title"})
    itemPromo = item.find("p", {"class": "item-promo"})
    row = []
    
    row.append(itemTitle.text)
    if (itemPromo and itemPromo.text == "OUT OF STOCK"):
        row.append("Sold Out")
    else: 
        row.append("Available")
    # 调整缩进后放在for循环内部
    rows_processed.append(row)

df = pd.DataFrame.from_records(rows_processed, columns=["Item Title ", "Status"])

display(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 23:36:10