本文代码用于处理CSV文件,筛选出特定条件的行,从大量的足球比赛数据中筛选出符合特定统计指标的比赛,用于比赛分析或数据统计
- 设置文件路径:设定CSV文件的路径,这里的路径是
C:\Users\Administrator\PycharmProjects\pythonProject\大球.csv
。 - 初始化一个列表:这个列表
filtered_rows
用于存储满足条件的行。 - 打开并读取CSV文件:使用
utf-8-sig
编码打开文件,确保正确读取中文和其他特殊字符。 - 遍历CSV文件中的每一行:使用
csv.DictReader
读取CSV文件,它将每行数据作为字典处理。
import csv
# 设置文件路径
file_path = r'C:\Users\Administrator\PycharmProjects\pythonProject\大球.csv'
# 初始化列表以存储符合条件的行
filtered_rows = []
# 使用utf-8-sig编码打开并读取CSV文件
with open(file_path, mode='r', encoding='utf-8-sig') as file:
csv_reader = csv.DictReader(file) # 使用DictReader读取CSV,方便通过列名访问数据
# 遍历CSV文件中的每一行
for row in csv_reader:
- 尝试获取并转换所需字段的值:对于特定字段(比如主队和客队的进球数平均值),尝试将其从字符串转换为浮点数。如果转换失败(例如,字段为空或不是数字),则跳过当前行。
- 根据条件过滤行:根据主队和客队的进球和失球的平均值的条件来过滤数据。这里的条件是主队进球平均值大于1.5,主队失球平均值大于1.5,客队进球平均值大于1.5,客队失球平均值大于1.2。
- 保留指定的字段:对于满足条件的行,只保留
主队
、客队
、国家
和比赛时间
这些字段。 - 打印找到的行数:打印出满足条件的行数。
- 以指定格式打印每一行:最后,以“主队 vs 客队, 国家, 比赛时间”这种格式打印出每一行的信息。