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

Python如何匹配两个Excel中的足球赛事数据并提取对应胜负结果?

相关技术名词
  • 数据框合并(DataFrame Merge):pandas中用于将两个表格按指定列关联匹配的操作,是实现该需求的核心技术
  • 多键匹配:合并时指定多个列作为匹配条件,本次需求就是同时匹配Home(主队)、Away(客队)两列
  • Excel读写:pandas对Excel文件的读取、输出操作
实现思路
  1. 用pandas分别读取爬虫输出的赛程Excel、手动维护的克星对阵源Excel,生成两个DataFrame对象
  2. 以Home、Away两个字段作为共同匹配键,对两个DataFrame做内连接(inner join),内连接只会保留两个表中匹配键完全一致的条目
  3. 提取匹配结果中的Result列就是需要的对应胜负结果,也可导出为新的Excel留存
可直接复用的代码

在你现有代码的末尾追加以下代码即可实现匹配功能:

# ---------------------- 新增匹配功能代码 ----------------------
# 1. 读取刚生成的赛程表Excel
fixture_df = pd.read_excel(name)
# 2. 读取手动维护的克星对阵源表,这里替换成你自己的源文件实际路径
bete_noire_df = pd.read_excel("你的手动维护源文件路径.xlsx")
# 3. 按主队、客队双字段匹配,内连接只保留两边都有的对阵
match_result = pd.merge(
    left=fixture_df,
    right=bete_noire_df,
    on=["Home", "Away"],  # 同时匹配主队、客队两个字段
    how="inner"  # 内连接,仅保留两边完全匹配的条目
)
# 4. 输出结果
print("匹配到的克星对阵及结果如下:")
print(match_result)
# 可选:导出匹配结果为新Excel
match_result.to_excel(f"匹配结果-{date}.xlsx", index=False)
学习路径指引
  • 先掌握pandas核心数据结构Series、DataFrame的基础操作,比如增删改查、条件过滤
  • 重点学习pandas的merge、join、concat三种数据合并方式,区分不同连接类型(内连接、左连接、右连接、外连接)的适用场景
  • 了解基础的数据清洗操作,比如球队名大小写、前后空格差异的处理,避免因为文本格式不一致导致匹配失败(比如“Liverpool”和“ liverpool ”会被判定为不同值,需要提前做标准化处理)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:24:03