我有文件,其中的数据形式为
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"
的行:tmp = [i for i in open('data.txt') if not 'I' in i]
a = np.genfromtxt(tmp)
如果您知道这些条目有多少(
'Irend'
,'IloadI'
等),则可以重塑a
:a.reshape(2, -1).T
#array([[ 292.62 , 0. ],
# [ 256.3 , 7.8987],
# [ 175.82 , 7.1084],
# [ 166.34 , 9.477 ]])
以获得更多可用的...