Python 选择输出yaml文件的名称

Python 选择输出yaml文件的名称,python,yaml,Python,Yaml,我有一个将数据保存为yaml格式的脚本,我获得了大约5000个文件 数据来自csv文件,其中一个日期是名称,我想根据csv文件中的名称命名我的输出yaml文件(第2列) 这是我的 import csv import ruamel.yaml from csv import reader from ruamel.yaml import YAML yaml = ruamel.yaml.YAML() yaml.preserve_quotes = True with open('config.yaml

我有一个将数据保存为yaml格式的脚本,我获得了大约5000个文件

数据来自csv文件,其中一个日期是名称,我想根据csv文件中的名称命名我的输出yaml文件(第2列)

这是我的

import csv
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[6]
        with open(f'config-{i}.yaml', 'w') as out:
            yaml.dump(doc, out)
然后将输出文件命名为
config-0.yaml,config-1.yaml……
,但我希望它们的名称来自我的csv文件,其结构如下:

2, ngc6397id000000002jd2456871p6250f000.fits, 6304.19055182, 97.72410249, ....
7, ngc6397id000000007jd2456871p6250f000.fits, 6177.99367633, 27.03483789, ....
我希望有如下输出:

ngc6397id000000002jd2456871p6250f000.yaml, ngc6397id000000007jd2456871p6250f000.yaml....
但是我找不到一种方法来命名我的yaml文件,你能帮忙吗?

你可以用它来获取第二行的第一部分值:

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

对非常感谢。我一直在找,但什么都没用!简单