Python 使用numpy loadtxt操作数据

Python 使用numpy loadtxt操作数据,python,file-io,numpy,Python,File Io,Numpy,我有一个文件,其中包含表单中的数据 Irend = 292.62 256.3 175.82 166.34 IloadI = 0 7.8987 7.1084 9.477 我试图通过numpy.loadtxt读取它,并得到valueError >>> import numpy as np >>> np.loadtxt('data.txt')

我有一个文件,其中包含表单中的数据

 Irend =
   292.62 
    256.3 
   175.82 
   166.34 

 IloadI =
        0              
   7.8987 
   7.1084 
    9.477 
我试图通过numpy.loadtxt读取它,并得到valueError

  >>> import numpy as np
  >>> np.loadtxt('data.txt')

  ValueError: could not convert string to float: Irend 

请帮助我正确操作数据。

您可以使用
skiprows
参数忽略给定数量的行:

np.loadtxt('data.txt', skiprows=1)
但在您的情况下,它将再次卡在
“IloadI”
中。在使用
np.loadtxt
之前,必须解析此文件

一个建议是使用列表理解删除带有
“I”
的行:

如果您知道这些条目的数量(
'Irend'
'IloadI'
等),您可以重塑
a

a.reshape(2, -1).T
#array([[ 292.62  ,    0.    ],
#       [ 256.3   ,    7.8987],
#       [ 175.82  ,    7.1084],
#       [ 166.34  ,    9.477 ]])
为了得到更有用的东西

a.reshape(2, -1).T
#array([[ 292.62  ,    0.    ],
#       [ 256.3   ,    7.8987],
#       [ 175.82  ,    7.1084],
#       [ 166.34  ,    9.477 ]])