当有可变空格分隔列时,在python(numpy)中加载数据集

时间:2017-06-26 17:45:43

标签: python numpy dataset whitespace delimiter

我有一个包含数字数据的大数据集,在某些行中有可变空格分隔列,例如:

4 5 6
7  8    9
2 3 4

当我使用这一行时:

dataset=numpy.loadtxt("dataset.txt", delimiter=" ")

我收到此错误:

ValueError: Wrong number of columns at line 2

如何更改代码以忽略多个空格?

2 个答案:

答案 0 :(得分:4)

delimiter的默认设置是'任何空格'。如果你离开loadtxt,它会处理多个空格。

>>> from io import StringIO
>>> dataset = StringIO('''\
... 4 5 6
... 7 8     9
... 2 3 4''')
>>> import numpy
>>> dataset_as_numpy = numpy.loadtxt(dataset)
>>> dataset_as_numpy
array([[ 4.,  5.,  6.],
       [ 7.,  8.,  9.],
       [ 2.,  3.,  4.]])

答案 1 :(得分:0)

使用Coin功能:

CoinCategory
numpy.genfromtxt
>>> import numpy as np
>>> dataset = np.genfromtxt(dataset.txt)

这是来自numpy文档:

>>> print dataset

希望这有帮助!