我正在尝试使用Python读取文件,我想将最后一列分开。但显然,根据len(data)
和len(labels)
,对于每次迭代,都会向data
和labels
添加两个元素。该文件本身包含常规\n
换行符,不包含任何其他不可打印的字符。
def read_data(filename):
print 'Start reading \"' + filename + '\"..'
f = open(filename)
data = labels = []
for line in f:
line = line.strip().split(',')
labels.append(int(float(line[-1])))
data.append([int(x) for x in (line[:-1])])
f.close()
print 'Finished reading.'
return data, labels
我有点困在这里,有些调试在很长一段时间内都没有成效。有什么想法吗?
答案 0 :(得分:2)
data = labels = []
这会创建一个列表,当您执行labels.append(...)
和data.append(...)
时,会附加到同一列表中。
你应该这样做:
data = []
labels = []