我正在从文件中读取数据集(由空格分隔)。我需要将除最后一列以外的所有列存储在data数组中,以及最后一列存储在target数组中。

您能指导我进一步进行吗?

到目前为止,这就是我所拥有的:

with open(filename) as f:
    data = f.readlines()

还是应该逐行阅读?

PS:列的数据类型也不同。

编辑:示例数据
faban       1   0   0.288   withspy
faban       2   0   0.243   withoutspy
simulated   1   0   0.159   withoutspy
faban       1   1   0.189   withoutspy

最佳答案

这将工作:

data = []
target = []
with open('faban.txt') as fobj:
    for line in fobj:
        row = line.split()
        data.append(row[:-1])
        target.append(row[-1])

现在:
>>> data
[['faban', '1', '0', '0.288'],
 ['faban', '2', '0', '0.243'],
 ['simulated', '1', '0', '0.159'],
 ['faban', '1', '1', '0.189']]

>>> target
['withspy', 'withoutspy', 'withoutspy', 'withoutspy']

10-04 18:32