def print_as_csv(phenolist):
phenolist = copy.deepcopy(phenolist)
all_columns = sorted(set(col for pheno in phenolist for col in pheno))
w = csv.DictWriter(sys.stdout, all_columns)
w.writeheader()
for pheno in phenolist:
for k in pheno:
if isinstance(pheno[k], (int, float)):
pass
elif isinstance(pheno[k], str):
pass
elif isinstance(pheno[k], list) and len(pheno[k])>0 and all(isinstance(v,str) for v in pheno[k]) and all('|' not in v for v in pheno[k]):
pheno[k] = '|'.join(pheno[k])
else:
pheno[k] = 'json:' + json.dumps(pheno[k])
w.writerow(pheno)
评论列表
文章目录