【问题标题】:Import .dat file into 2d array将 .dat 文件导入二维数组
【发布时间】:2017-09-07 00:08:36
【问题描述】:

我需要将 .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 是每列数据的前两个值。 谁能指出可能出了什么问题?

【问题讨论】:

    标签: python arrays numpy valueerror


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2014-02-28
      • 2015-11-27
      • 1970-01-01
      • 2012-07-24
      • 1970-01-01
      • 2014-04-06
      • 2018-03-08
      • 2014-09-13
      相关资源
      最近更新 更多