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

如何将爬虫输出转换为DataFrame?无法确定输出数据类型

解决方法:将爬虫数据转为DataFrame

首先你当前的代码只是逐个打印score字符串,没有把爬取到的数据结构化存储,所以第一步得先把所有字段收集起来,再转成DataFrame。

步骤说明:

  • 先导入pandas库(未安装的话先执行pip install pandas完成安装)
  • 初始化一个空列表,用来存储每一行的结构化数据
  • 循环爬取时,把每一行的date、opponent1、opponent2、score整理成字典,追加到列表中
  • 循环结束后,用pandas.DataFrame()把列表转成DataFrame

修改后的完整代码:

import requests
from bs4 import BeautifulSoup
import pandas as pd  # 导入pandas库

url = "https://www.bvb.de/Spiele/Alle-Spiele"
soup = BeautifulSoup(requests.get(url).content, "html.parser")

# 初始化空列表,用于存储结构化数据
data = []

for row in soup.select("tr:has(td)"):
    tds = [td.get_text(strip=True, separator=" ") for td in row.select("td")]
    if len(tds) > 2:
        date = tds[0]
        opponent1 = tds[1]
        opponent2 = tds[2]
        score = tds[3]
        # 将当前行数据整理为字典,加入数据列表
        data.append({
            "日期": date,
            "主队": opponent1,
            "客队": opponent2,
            "比分": score
        })

# 转换为DataFrame
df = pd.DataFrame(data)
# 可以打印前几行查看结果
print(df.head())

关于数据类型的说明:

你当前代码里的score是字符串类型,每次循环仅输出单个字符串,没有形成结构化数据集。通过把每一行数据存入字典再汇总到列表,我们得到了列表嵌套字典的结构化数据,这种格式可以直接被pandas识别并转换为DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 08:52:06