我现在正在提取csv文件中的值,以将它们合并到yaml文件中
问题是,在我的csv文件的~6000行中,有几个单元格是空的,我想跳过这些单元格并继续我的循环,如下所示:
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: How to check if cell in CSV file is empty?开始的解决方案
但是我认为我做得不对,我看不出在哪里在正确的位置集成if not row[0]
循环,知道吗?
谢谢
如果我正确理解您的问题,您可以插入如下值的检查:
相关问题 更多 >
编程相关推荐