Python 选择输出yaml文件的名称
我有一个将数据保存为yaml格式的脚本,我获得了大约5000个文件 数据来自csv文件,其中一个日期是名称,我想根据csv文件中的名称命名我的输出yaml文件(第2列) 这是我的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
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)
对非常感谢。我一直在找,但什么都没用!简单