如何保存像tsv这样的python输出

2022-01-24 00:00:00 python output save

问题描述

I am using biopython package and I would like to save result like tsv file. This output from print to tsv.

for record in SeqIO.parse("/home/fil/Desktop/420_2_03_074.fastq", "fastq"):
    print ("%s %s %s" % (record.id,record.seq, record.format("qual")))

Thank you.

解决方案

That is fairly simple , instead of printing it you need to write that to a file.

with open("records.tsv", "w") as record_file:
    for record in SeqIO.parse("/home/fil/Desktop/420_2_03_074.fastq", "fastq"):
        record_file.write("%s %s %s
" % (record.id,record.seq, record.format("qual")))

And if you want to name the various columns in the file then you can use:

record_file.write("Record_Id    Record_Seq    Record_Qal
")

So the complete code may look like:

with open("records.tsv", "w") as record_file:
    record_file.write("Record_Id    Record_Seq    Record_Qal
")
    for record in SeqIO.parse("/home/fil/Desktop/420_2_03_074.fastq", "fastq"):
        record_file.write(str(record.id)+"  "+str(record.seq)+"  "+ str(record.format("qual"))+"
")

相关文章