0

我需要将 .dat 文件导入二维数组,在数据开始之前文件中有 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 是每列数据的前两个值。谁能指出可能出了什么问题?

4

1 回答 1

0

不要使用delimiter = " ". 使用默认值,delimiter=None. 然后将任何空白块视为数据字段的分隔符。

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

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

于 2017-04-11T14:52:26.487 回答