【发布时间】:2021-09-29 22:13:31
【问题描述】:
我是 Python 的新手,目前我有一个如下所示的文本文件:
# Wed 13:10:08 11-Mar-2015
begin aperture image1 1 1024. 139.7445
image image1
aperture 1
beam 1
center 1024. 139.7445
low -1023. -4.
high 1024. 4.
background
xmin -40.45428
xmax 43.75221
function chebyshev
order 3
sample -40.45428:-18.42313 20.09063:43.75221
naverage 1
niterate 0
low_reject 3.
high_reject 3.
grow 0.
axis 2
curve 6
2.
2.
4.
2044.
-0.1275881
-0.03320996
我想从第六行(“中心”)中提取“139.7445”。这是我的代码:
pos_wasp = np.loadtxt(line, skiprows=5, usecols=(3,4), unpack=True)
但是当我运行它时,它给出了一个错误:
IndexError: 列表索引超出范围
这应该是一个简单的问题,我已经尝试多次更改列号和数据类型,但仍然不起作用。
【问题讨论】:
-
np.genfromtxt(line, skip_header=5, skip_footer=21, usecols=(1,2), unpack=True)将提取array([1024., 139.7445])。 -
我的猜测是索引错误来自
usecols值。给我们更多的错误信息(行等)会澄清这一点。但更重要的是,这不是loadtxt/genfromtxt要处理的那种文件。 -
这适用于 genfromtxt!谢谢大家的帮助:)