函数未正确写入.xls。Python 2.7.1
当我检查我的Excel文件时,它只写入最后输入的一行数据函数未正确写入.xls。Python 2.7.1,python,string,function,export-to-excel,Python,String,Function,Export To Excel,当我检查我的Excel文件时,它只写入最后输入的一行数据 def Table(fn,fe): for fseq in fn: count=0 for k in fseq: if k=='G' or k=='C': count=count+1 percentage=(float(count)/len(f
def Table(fn,fe):
for fseq in fn:
count=0
for k in fseq:
if k=='G' or k=='C':
count=count+1
percentage=(float(count)/len(fseq))*100
fin=open(fe,'w')
table=str(fseq)+'\t'+str(count)+'\t'+str(percentage)+'\n'
fin.write(table)
return fe
tablist=["AAUG","GCGA","AGCG","TCGA"]
fout=Table(tablist, 'abc.xls')
它应该输出以下内容:
AAUG 1 25.0
GCGA 3 75.0
AGCG 3 75.0
TCGA 2 50.0
相反,我的输出如下所示:
TCGA 2 50.0
并返回正在写入的文件的名称
为什么它只为字符串的最后一个元素写入数据 for循环在字符串上循环,而不是在每个字符串的字符上循环。试试这个:
for k in fn:
for c in k:
if c=='G' or c=='C':
count=count+1
(else:不是必需的。)
您还需要将文件写入代码移动到外部循环内,以获得正确的报告(但将打开的代码移动到外部循环上方)。for循环在字符串上循环,而不是在每个字符串的字符上循环。试试这个:
for k in fn:
for c in k:
if c=='G' or c=='C':
count=count+1
(else:不是必需的。)
您还需要将文件写入代码移动到外循环的内部,以获得正确的报告(但将open移动到外循环的上方)
您列表中的任何成员都不会符合此条件。因此,您的计数保持在0
您可能希望循环字符串中的字符
您列表中的任何成员都不会符合此条件。因此,您的计数保持在0
您可能想在字符串中的字符上循环。找到了答案。创建一个空字符串,然后将表的每个值添加到该字符串中,该值是在for循环的迭代过程中创建的。在.xls文件中写入字符串并将其解决。创建一个空字符串,然后将表的每个值添加到该字符串中,该值是在for循环的迭代过程中创建的。将字符串写入.xls文件请正确设置代码格式。为什么不使用?请正确设置代码格式。为什么不使用?它将9写入excel文件。我在意识到k是列表中的每个字符串后尝试了它。您还需要重新排列输出到文件中的代码。它需要在函数顶部打开一次,并在外部for循环中每次写入一次。它将9写入excel文件我在意识到k是列表中的每个字符串后尝试了它。您还需要重新排列输出到该文件的代码。它需要在函数顶部打开一次,并在外部for循环中每次写入一次。