我有一个大的以制表符分隔的csv文件,格式如下:
#mirbase_acc mirna_name gene_id gene_symbol transcript_id ext_transcript_id mirna_alignment gene_alignment mirna_start mirna_end gene_start gene_end genome_coordinates conservation align_score seed_cat energy mirsvr_score
我想做的是遍历行并根据“gene_id”字段中的数据(字符串)选择项,然后将这些行复制到一个新文件中。
我是一个Python怪,我想这是一个很好的方法让我的脚湿,但它比它看起来更难!我一直在尝试使用csv包来操作文件,使用dictreader和dictwriter读写基本内容。如果有人能帮我想出一个迭代搜索方面的模板,我将不胜感激。到目前为止我有:
import csv
f = open("C:\Documents and Settings\Administrator\Desktop\miRNA Scripting\mirna_predictions_short.txt", "r")
reader = csv.DictReader(f, delimiter='\t')
writer = open("output.txt",'wb')
writer = csv.writer(writer, delimiter='\t')
然后迭代位,bleurgh:
for row in reader:
if reader.gene_id == str(CG11710):
writer.writerow
这显然行不通。有没有更好的方法来构建这个??
python中的字典的地址与dictionary['key']类似。所以对你来说就是读者。字符串也用引号“text”声明,不像str(text)。str(text)将尝试将变量文本中存储的内容转换为字符串,这不是我认为您想要的。writer.writerow也是一个函数,函数接受参数,因此需要执行writer.writerow(row)。
你快到了!代码几乎是正确的:)
访问dicts如下:
而不是:
创建字符串不是用
str(...)
完成的,而是用CG11710
这样的引号完成的就你而言:
相关问题 更多 >
编程相关推荐