实用脚本统计射门次数哪队更多?

wen 实用脚本 1

本文目录导读:

实用脚本统计射门次数哪队更多?

  1. 场景 1:从纯文本(如解说词、比赛记录)中统计
  2. 场景 2:从结构化数据(CSV/Excel/API返回)中统计
  3. 进阶版:自动抓取网页技术统计
  4. 推荐用法(最便捷)

如果你想要一个实用脚本来自动统计两队的射门次数(比如从足球比赛的文字直播、技术统计页面或本地数据文件中提取),可以用 Python 写一个简单但灵活的工具。

下面我提供两种最常用的场景,你可以直接复制使用:

场景 1:从纯文本(如解说词、比赛记录)中统计

假设你有一段比赛记录文本,格式类似:

上半场 第10分钟 主队 射门
第20分钟 客队 射门 被扑出
第35分钟 主队 射门 进球!

脚本逻辑:搜索包含“射门”关键词的行,并判断句子中是否包含“主队”或“客队”(或队伍名称)。

import re
def count_shots_from_text(text, home_team="主队", away_team="客队"):
    """
    从文本中统计两队射门次数。
    适用于包含队伍名称和"射门"字样的文本。
    """
    home_count = 0
    away_count = 0
    # 以换行符分割每一句话
    lines = text.split('\n')
    for line in lines:
        if '射门' in line:  # 只统计提到射门的句子
            if home_team in line:
                home_count += 1
            elif away_team in line:
                away_count += 1
            # 如果不包含队伍名,默认跳过
    return home_count, away_count
# --- 使用示例 ---
sample_text = """
第1分钟 主队 射门
第10分钟 客队 射门 可惜偏了
第30分钟 主队 射门 威力很大
第40分钟 客队 射门 被门将没收
下半场 客队 射门 进球
第90分钟 主队 射门 绝杀球!
"""
home, away = count_shots_from_text(sample_text)
print(f"主队射门次数: {home}")
print(f"客队射门次数: {away}")
# 输出比较结果
if home > away:
    print("主队射门更多")
elif away > home:
    print("客队射门更多")
else:
    print("两队射门次数持平")

场景 2:从结构化数据(CSV/Excel/API返回)中统计

如果你的数据源是一个CSV文件或者API返回的JSON(比如每个球员的射门数据),直接用 pandas 更高效。

假设你的CSV文件 shots.csv 如下:

球队 球员 射门次数
主队 前锋A 5
客队 前锋B 3
主队 中场C 2
客队 后卫D 0

脚本

import pandas as pd
def count_shots_from_file(file_path):
    """
    读取包含球队和射门次数的CSV/Excel文件,统计总数。
    """
    df = pd.read_csv(file_path)  # 如果是Excel,改为 pd.read_excel(file_path)
    # 按球队分组求和
    result = df.groupby('球队')['射门次数'].sum()
    return result
# 使用
shots_series = count_shots_from_file('shots.csv')
print(shots_series)
# 找出谁更多
if shots_series['主队'] > shots_series['客队']:
    print("主队射门更多")
elif shots_series['客队'] > shots_series['主队']:
    print("客队射门更多")
else:
    print("平局")

进阶版:自动抓取网页技术统计

如果你想要自动从足球数据网站(如 SofaScore、LiveScore、直播吧)抓取数据,那稍微复杂一点,需要用到 requests + BeautifulSoup 或者 API。

核心思路(伪代码):

import requests
from bs4 import BeautifulSoup
def get_shots_from_webpage(url):
    response = requests.get(url, headers={'User-Agent': 'Mozilla/5.0'})
    soup = BeautifulSoup(response.text, 'html.parser')
    # 核心:登录F12查看网页元素,找到射门数据的CSS选择器
    home_shots = soup.select_one('.home-shots > .value').text
    away_shots = soup.select_one('.away-shots > .value').text
    return int(home_shots), int(away_shots)

推荐用法(最便捷)

如果你不想写代码,只是偶尔需要快速统计,可以直接用 Excel / Numbers

  1. 复制比分网站的射门数据。
  2. 粘贴到Excel。
  3. 先用 “替换”功能把“射门”替换为空,留下数字。
  4. SUM 函数分别求和。

你需要哪一种? 如果你有具体的数据格式(比如一段解说文字、一个网页链接、或Excel文件),可以发一段示例,我帮你把脚本改精确。

抱歉,评论功能暂时关闭!