【发布时间】:2020-08-16 22:36:54
【问题描述】:
我有一个 txt 输出文件,我想在行中存储一些值。
TBabs*powerlaw
2 PhoIndex 2.427 3.447 FFFFFFFFF
3 norm 8.454501369e-06 1.387320996e-05 FFFFFFFFF
0p3_1p5abs 1.512967493e-14 1.326152487e-14 1.822308766e-14
0p3_1p5plunabs -13.50750953 -13.21090697 FFFFFFFFF
TBabs(powerlaw + diskbb)
Ftest: 11.9512537 14 11.9512537 12 1
在上面的 txt 文件中,我想存储 PhoIndex 的值(2.427 和 3.447)。我尝试了以下方法:
my_list=[]
filepath = 'output'
with open(filepath) as fp:
for line in fp:
if line=="PhoIndex"
my_list.append(line)
我不想根据它们的顺序对它们进行索引,因为输出是动态的,而且 PhoIndex 可能在另一行。因此,我能想到的唯一合乎逻辑的方法是,如果某个变量与该关键字相等,则将值存储在该行中。事实上,最有用的是创建一个空的dictionary 并能够在输出中填充值,例如
循环前:
source = {
'model': '',
'PhoIndex': np.array([]),
'norm': np.array([]),
'0p3_1p5abs': np.array([]),
'0p3_1p5plunabs': np.array([]),
}
循环之后:
source = {
'model': 'TBabs*powerlaw',
'PhoIndex': np.array([2.427, 3.447]),
'norm': np.array([8.454501369e-06, 1.387320996e-05]),
'0p3_1p5abs': np.array([1.512967493e-14, 1.326152487e-14,1.822308766e-14]),
'0p3_1p5plunabs': np.array([0p3_1p5plunabs,-13.50750953, -13.21090697]),
}
但我几乎不知道该怎么做。我感谢任何有关上述任何问题的帮助。
【问题讨论】:
标签: python arrays python-3.x list dictionary