后来就用re解决了
虽然写出来不是很漂亮,但还是给需要的人参考
import numpy as np
import re
f=open('file')
l1=f.readlines(1) # 先把头两行去掉
l2=f.readlines(1)
data=f.readlines()
f.close()
ds= np.zeros([len(data)//3,10])
for i in range(len(data)//3):
row0=data[3*i+0]
row1=data[3*i+1]
row2=data[3*i+2]
d0=re.findall(r"[-+]?\d*\.\d+|\d+",row0)
d0=[float(x) for x in d0]
d1=re.findall(r"[-+]?\d*\.\d+|E\d+",row1)
d1=[float(x) for x in d1]
d2=re.findall(r"[-+]?\d*\.\d+|E\d+",row2)
d2=[float(x) for x in d2]
ds[i,0:3]=d0
ds[i,3:7]=d1
ds[i,7:10]=d2