我正在编写一个函数来计算矩阵的分数,并将分数和其他一些变量作为标题输出。我的输出代码如下:
header=">"+motif+" "+gene+" "+str(score)
append_copy = open(newpwmfile, "r")
original_text = append_copy.read()
append_copy.close()
append_copy = open(newpwmfile, "w")
append_copy.write(header)
append_copy.write(original_text)
append_copy.close()
但是标题是在下一行而不是同一行打印得分,如下所示:
>ATGC ABC/CDF
5.8
0.23076923076923 0 0.69230769230769 0.076923076923077
0.46153846153846 0.23076923076923 0.23076923076923 0.076923076923077
0 0 1 0
0 1 0 0
1 0 0 0
可能是什么原因?我也尝试交换变量,然后标题打印在同一行。但是,在这种情况下,序列是相关的。
答案 0 :(得分:2)
从文件中读取字段时,最好使用strip()
函数删除可能的额外空格。
例如,这是从csv文件手动获取字段的典型工作流程:
for line in open(fname).readlines():
linefields = [field.strip() for field in line.strip().split(',')]
这将删除行之间的空白空间和字段之间的空白空间。