【发布时间】:2017-07-24 04:51:02
【问题描述】:
我正在尝试使用 numpy 读取一个 txt 文件,并且我有以下代码
import numpy as np
def parsefile(filename):
return np.genfromtxt(filename,
delimiter = dly_delimiter,
usecols = dly_usecols,
dtype = dly_dtype,
skip_header = 4,
names = dly_names)
dly_delimiter = [7,5,9,13,10,13,9,13,10,13,10]
dly_usecols = [1,7]
dly_dtype = [np.int32, np.float64]
dly_names = ['node number', 'z_force']
force = parsefile('nodfor')
print(force)
然后就出来了
[(-1, nan) (-1, nan) (-1, nan) ..., (-1, nan) (-1, nan) (-1, nan)]
但我感兴趣的是“nd#”后面的数字和“zforce”后面的数字。
[the format of the txt file is like this] 这是txt文件的sn-p(两行):
nd# 39584 xforce= 0.0000E+00 yforce= 0.0000E+00 zforce=
0.0000E+00 energy= 0.0000E+00 setid = 1
nd# 39585 xforce= 0.0000E+00 yforce= 0.0000E+00 zforce=
0.0000E+00 energy= 0.0000E+00 setid = 1
这是一个已知问题吗?我该如何解决这个问题?
【问题讨论】:
-
正如@hpaulj 在他的回答中指出的那样,
'#'是默认的评论字符。添加参数comments=None,您的代码对我有效。 -
@WarrenWeckesser 这对我也有效~
标签: python numpy genfromtxt