Я сейчас извлекаю значения в CSV-файл, чтобы включить их в YAML-файлы.
Проблема заключается в том, что в ~ 6000 строк в моих CSV-файлах пустые несколько ячеек, и я хотел бы пропустить эти ячейки и продолжить мой l oop, который выглядит как:
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:
next(f)
for i, data in enumerate(reader(f)):
doc['components']['star']['init'][0]['values']['logg'] = float(data[4])
filename = data[1].split(".")[0]
with open(f'{filename}.yaml', 'w') as out:
yaml.dump(doc, out)
С CSV-файл выглядит так:
Starid filename Teff TeffErr logg
1 ngc6397id000000002jd2456871p6250f000.fits 6304.19055182 97.72410249 4.21614564
2 pgc6397id000000002jd2456871p6250f000.fits 7304.19055182 97.72410249
3 qgc6397id000000002jd2456871p6250f000.fits 8304.19055182 97.72410249 5.21614564
Я пробовал решение из Python: Как проверить, пуста ли ячейка в CSV-файле? Но я думаю, что я делаю это неправильно, я не вижу, где интегрировать if not row[0]
l oop в нужном месте, есть идеи? Спасибо!