从CSV文件更改yaml文件中的值

时间:2020-02-11 16:36:06

标签: python yaml

我有一个脚本,可在csv文件中提取某些值,以将它们合并到几个yalm文件中,并放在这些文件中的某个位置。

import ruamel.yaml
from csv import reader
from ruamel.yaml import YAML

yaml = ruamel.yaml.YAML()
yaml.preserve_quotes = True

with open('config.yaml') as yml:
    doc = yaml.load(yml)

with open('params.csv') as f:
    for i, data in enumerate(reader(f)):
        doc['components']['star']['init'][0]['values']['logg'] = data[4]
        filename = data[1].split(".")[0] 
        with open(f'{filename}.yaml', 'w') as out:
            yaml.dump(doc, out)
        #break

如您所见,它将csv文件的一列中的值一个接一个地更改,在参考yaml文件中更改此值(logg)并保存,并针对每个值执行此操作,所以我结束了有几个Yaml文件。

问题是,当替换值时,而不是例如:

logg: 4.5

我得到:

logg: '4.5'

您是否有一个不需要''的想法,因为我无法使其工作? 谢谢

0 个答案:

没有答案