将.dat文件导入2d数组

时间:2017-04-11 14:24:02

标签: python arrays numpy valueerror

我需要将.dat文件导入到2d数组中,在数据开始之前文件中有15行文本,用空格分隔。一旦导入我必须从数据中绘制消除噪声,但是,我似乎无法正确导入数据。

这是我的尝试

 import numpy as np
 data = np.array 

 def ProcessData(data):

    data = np.loadtxt("myfile.dat", delimiter = " ", skiprows = 15)
    print data

 ProcessData(data)

 >>>ValueError: invalid literal for float(): 10.0   0.0

10.0和0.0是每列数据的前两个值。 任何人都可以指出可能出错的地方吗?

1 个答案:

答案 0 :(得分:0)

请勿使用delimiter = " "。使用默认值delimiter=None。然后,任何空格块都被视为数据字段的分隔符。

当您使用delimiter=" "时,每个空间都很重要,因此"1 2"之类的行包含字段'1''''''2'。使用delimiter=None时,这三个空格将被视为单个分隔符。

在您的情况下,我怀疑文件中的字段是由制表符分隔的,而不是空格。选项卡也是空格,因此当您使用delimiter=None时,它将被视为分隔符。