我编写了一个脚本,将制表符分隔的矩阵(带标题)重新格式化为“长格式”。请参见下面的示例。它正确执行任务,但似乎陷入了无限循环......
输入示例:
WHO THING1 THING2
me me1 me2
you you1 you2
期望的输出:
me THING1 me1
me THING2 me2
you THING1 you1
you THING2 you2
这是代码:
import csv
matrix_file = open('path')
matrix_reader = csv.reader(matrix_file, delimiter="\t")
j = 1
while j:
matrix_file.seek(0)
rownum = 0
for i in matrix_reader:
rownum+=1
if j == int(len(i)):
j = False
elif rownum ==1:
header = i[j]
else:
print i[0], "\t",header, "\t",i[j]
j +=1
我认为这与我的退出命令(j = False)有关。有任何想法吗?
编辑:感谢您的建议。我认为我最初的帖子中的一个错字导致了一些混乱,对此我很抱歉 现在我采用了一个简单的解决方案:
valid = True
while valid:
matrix_file.seek(0)
rownum = 0
for i in matrix_reader:
rownum+=1
if j == int(len(i)):
valid = False
etc, etc, etc...