我有一个yaml文件,如下所示:
grids:
phxgrid:
class: spexxy.grid.FilesGrid
filename: /home/geoffrey/Bureau/husser_interpolator/grid.csv
interpolators:
phx:
class: spexxy.interpolator.SplineInterpolator
grid: phxgrid
derivs: phxgrid
components:
star:
class: spexxy.component.GridComponent
interpolator: phx
init:
- class:
values:
logg: 4.0
Alpha: 0.
v: 0
sig: 0
main:
class: spexxy.main.ParamsFit
components: [star]
fixparams:
star: [sig, Alpha, logg]
从CSV文件中,我必须读取列中的一个参数(我已经知道如何执行),然后将其插入yaml文件中的logg: 4.0
行,例如将4.0切换到3.2,并为每个值保存一个yaml文件
你知道怎么做吗?谢谢
编辑:
所以,现在,我有这个:
import csv
import yaml
from csv import reader
with open('params.csv', 'r') as f:
data = list(reader(f))
logg_list = [i[6] for i in data[1::]]
with open('config.yaml', 'rw') as ymlfile:
doc = yaml.load(ymlfile)
for logg in logg_list:
doc['logg'] = logg[i]
yaml.dump(doc,ymlfile)
但是它没有改变任何东西,我不确定保存部分,因为我应该获得许多具有不同logg值的yaml文件,因此我想命名有效文件
无需将整个CSV文件读入内存。首先读取中的YAML配置,然后在迭代CSV文件时写入新的YAML文件
相关问题 更多 >
编程相关推荐