【发布时间】:2020-05-31 15:53:33
【问题描述】:
我目前正在提取 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] 循环,知道吗?
谢谢!
【问题讨论】: