【发布时间】:2020-06-12 21:00:13
【问题描述】:
我有一个包含 3331 场橄榄球比赛的文件,每场比赛有 9 个属性,它们是;
(日期、日期、年份、team_1、team_2、team_1_score、team_2_score、team_1_tries、team_2_tries、中立)。
样本数据:
15 Feb 1875, Mon, 1875, ENG, IRE, 7, 0, 2, 0, N
08 Mar 1875, Mon, 1875, SCO, ENG, 0, 0, 0, 0, N
13 Dec 1875, Mon, 1875, IRE, ENG, 0, 4, 0, 2, N
我创建了一个名为 Match 的类来存储这些数据,并且我尝试实现一种方法来打印每个匹配的数据,这就是我所拥有的;
class Match:
def __init__(self, date, day, year, team_1, team_2, team_1_score, team_2_score, team_1_tries, team_2_tries, neutral):
self.date=date
self.day=day
self.year=year
self.team_1=team_1
self.team_2=team_2
self.team_1_score=team_1_score
self.team_2_score=team_2_score
self.team_1_tries=team_1_tries
self.team_2_tries=team_2_tries
self.neutral=neutral
def show(self):
print("Date: " + self.date /n +
"Day: " + self.day /n +
"Year: " + self.year/n +
"Home Team :" + self.team_1 /n +
"Home Team Score: " + self.team_1_score /n +
"Home Team Tries: " + self.team_1_tries /n +
"Away Team: " + self.team_2 /n +
"Away Team Score: " + self.team_2_score /n +
"Away Team Tries: " + self.team_2_tries /n +
"Neutrality: " + self.neutral /n)
这部分是我认为我遇到麻烦的地方,我们必须真正检查我的文件(“RugbyResultsData.csv”)并为每场比赛创建一个对象,我们的讲师给了我们除了一行之外的所有代码我们需要调整,但我不知道该怎么做,这是编程课程的第一年介绍,而且我本身不是 CS 相关学位(数学)。
#Adjust this code to create a list of Match objects
matches = list()
count = 0
with open('RugbyResultsData.csv') as f:
for line in f:
words = line.split(',')
match = #Adjust code here
matches.append(match)
count = count + 1
print(str(count) + " matches loaded")`
它说“在此处调整代码”我尝试执行 list(words) 可以让我获得匹配的每一行,但我不知道如何将这些数据转换为对象。之后我需要遍历类的每个元素并打印它。
感谢您的帮助,如果这是一个nooby问题,对不起
【问题讨论】:
-
试试
match = Match(*words)... -
@EdWard 它告诉我我缺少 9 个必需的位置参数,即我上面列出的具体参数
-
你能给我们一个csv前几行的样本吗?
-
1875 年 2 月 15 日星期一 1875 年 ENG IRE 7 0 2 0 N 1875 年 3 月 8 日星期一 1875 年 SCO ENG 0 0 0 0 N 1875 年 12 月 13 日 Mon 1875 IRE ENG 0 4 0 2 N
-
我的格式很糟糕,但“dd mmm yyyy”是 csv 中的一个单元格