python中的另一个新手。
我正在尝试从文件中读取以下内容
000001 001,01 001,02 001,03 001,04 +83.44556 -4.42692396 +.0018912 -1.625533 +.0006944 -85.36787 +367.192620 +369.0000 20180130_141607 CH 01 GN 1 128
000002 001,01 001,02 001,04 001,05 +54.27095 -.719790446 +.0004728 -.2643017 +.0001736 +8.225120 +367.192620 +369.0000 20180130_141607 CH 02 GN 2 128
我尝试了以下命令
Z0=np.genfromtxt('1X21_DD_WN20180130_1114.Data',comments='#','!','R'],
skip_header=100,skip_footer=2)
但是数字001,01 001,02作为NAN返回。
我试过了
Z00=np.genfromtxt('1X21_DD_WN20180130_1114.Data',comments=
['#','!','R'],skip_header=100,skip_footer=2,delimiter=[' ',','])
但是我收到一条错误消息(Cannt使用灵活类型执行累积)
然后我去了以下路径
with open('1X21_DD_WN20180130_1114.Data', 'rb') as f:
y=[[ line.replace(b',',b' ') ] for line in f.readlines()[100:-3]]
返回y中的列表。但我不知道如何进行拆分。
现在我使用以下表达式
in_file=open('1X21_DD_WN20180130_1416.Data', 'rb')
readfile=in_file.readlines()[100:-3]
y2=np.zeros([17,1])
for line in readfile:
y2=np.c_[y2,np.asarray(line.replace(b',',b' ').split())
[0:17].astype(float)];
y2=y2[:,1:]
y2=y2.T
必须有更好的方法 有什么帮助吗?
答案 0 :(得分:0)
无论如何,经过一些反复试验,我来到了这个
with open('1X21_DD_WN20180130_1416.Data', 'rb') as f:
y=np.asarray([ line.replace(b',',b' ').replace(b'*',b'0').replace(b'TX',b'0').replace(b'Resist.',b'0').replace(b'out',b'0').replace(b'of',b'0').replace(b'range',b'0').split()[0:17] for line in f.readlines()[100:-3]]).astype(float)