使用Python的csv.writer生成表头行

2 投票
1 回答
607 浏览
提问于 2025-04-18 09:51

我有一段Python代码,可以生成一个.csv文件,但我不知道怎么添加列名或者表头。以下是我的代码:

handle = open(sys.argv[1])
with open('protparams.csv', 'w') as fp: 
    writer = csv.writer(fp, delimiter=',')
    for record in SeqIO.parse(handle, "fasta"): 
            seq = str(record.seq)
            X = ProtParam.ProteinAnalysis(seq)
            data = [seq,X.get_amino_acids_percent(),X.aromaticity(),X.gravy(),X.isoelectric_point(),X.secondary_structure_fraction(),X.molecular_weight(),X.instability_index()]
            writer.writerow(data)

我试着加了一些东西,比如:

writer = csv.writer(fp, delimiter=',',[seq,aa_percentage,aromaticity,gravy,isoelectric_point,secondary_structure_fraction,molecular_weight,instability_index])

但显然这样不行。

有没有人有什么好主意?

1 个回答

2

在循环之前写上头部信息:

handle = open(sys.argv[1])
with open('protparams.csv', 'w') as fp:
    writer = csv.writer(fp, delimiter=',')
    writer.writerow(['heading1','heading2','heading3'])
    for record in SeqIO.parse(handle, "fasta"):
            seq = str(record.seq)
            X = ProtParam.ProteinAnalysis(seq)
            data = [seq,X.get_amino_acids_percent(),X.aromaticity(),X.gravy(),X.isoelectric_point(),X.secondary_structure_fraction(),X.molecular_weight(),X.instability_index()]
            writer.writerow(data)

撰写回答