试图通过数据任务.io当然,我很好奇为什么我的答案和公认的答案冲突。目标是从.csv中为变量dataset\u data生成一个列表
解决方案如下:
# Solution code
class Dataset:
def __init__(self, data):
self.data = data
f = open("nfl.csv", 'r')
csvreader = csv.reader(f)
nfl_data = list(csvreader)
nfl_dataset = Dataset(nfl_data)
dataset_data = nfl_dataset.data
但是,我编写了以下代码:
class Dataset:
def __init__(self,data):
self.nfl_data = []
self.temp_data = open(data,'r').read().split('\n')
for n_data in self.temp_data:
self.nfl_data.append(n_data.split(","))
nfl_datas = Dataset("nfl.csv")
dataset_data = nfl_datas.nfl_data
对于这两种方法,print()会产生以下结果:
[['year', 'week', 'winner', 'loser'], ['2009', '1', 'Pittsburgh Steelers', 'Tennessee Titans'],
但是,在站点上,我的代码会产生以下错误:
dataset_data isn’t defined in your code, but we expected it to be list type
有什么想法吗,很有帮助。你知道吗
尝试打印两种情况下的列表结果列表的长度。当试图检查为什么两段代码不产生相同的输出时,检查两个输出实际上不同的所有可能方式是一个好主意。你知道吗
当我检查这个问题时,你的列表似乎比正确答案长1个元素。这可能是由于您使用的手动读取方法。split(“\n”) split()的诀窍是它与join()相反,因此split()生成的列表可以与join()一起使用,以精确地重新生成原始字符串。因此,如果CSV有一个尾随\n,则列表中的最后一个元素将作为空字符串。CSV模块非常强大,我强烈建议您使用它,而不是重新发明轮子,除非您正在进行学术练习,以了解像这样的挑战。你知道吗
相关问题 更多 >
编程相关推荐