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

如何使用pandas按多分隔符拆分Excel单元格提取NCAAF对阵队伍

实现代码

直接使用以下代码即可完成两阶段的清洗需求:

import pandas as pd

# 读取原始数据
df = pd.read_excel('ActionNetwork.xlsx')

# 第一阶段:提取对阵信息到Matchups列,同时支持AM/PM分隔
# 正则匹配AM/PM后的空白位置分割,取后半段作为对阵内容
df['Matchups'] = df['Scheduled'].str.split(r'(?<=[AP]M)\s+', expand=True)[1]

# 第二阶段:拆分两支队伍为单独行,得到最终输出
# 按vs分隔对阵内容为列表,展开为单独行
df = df.assign(
    Matchups=df['Matchups'].str.split(r'\s+vs\s+')
).explode('Matchups').reset_index(drop=True)

# 可选:输出到新Excel文件
df.to_excel('清洗后_ActionNetwork.xlsx', index=False)
print(df)
代码说明
  • 你原来的split('PM | AM')写法不生效,是因为Python原生字符串split方法不支持|代表或逻辑,这里使用pandas字符串方法内置的正则规则实现多分隔符匹配
  • (?<=[AP]M)是正则正向回顾断言,只会匹配前面是AM或PM的位置,不会丢失时间信息也不会误切割其他内容
  • explode方法会将列表形式的对阵队伍拆分为独立行,其余列内容自动对应复制,完全符合你要的最终输出效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:45:08