我正在MATLAB中编写一个解决方案但是使用Python来解析文本文件 - Python绝对不是我的强项。基本上,我已经设法解析我的文本文件的相关行,并希望这些文件以下列格式导出为制表符分隔文本文件:
num1 num2 num3 num4 num5
num1 num2 num3 num4 num5
num1 num2 num3 num4 num5
num1 num2 num3 num4 num5
但是,目前,我的输出文件如下所示:
[num3, num1, num2, num4, num5], [num3, num1, num2, num4, num5], [num3, num1, num2, num4, num5], [num3, num1, num2, num4, num5]
我的代码如下所示:
for <blah blah>
num3,num1,num2,num4,num5 = data
outputData.append(data)
outfile.write("%s"%(outputData))
如何重新排列变量并将它们输出到一个漂亮的结构化数组中?
答案 0 :(得分:3)
尝试以下方法:
for <blah blah>
num3,num1,num2,num4,num5 = data
outputData.append('\t'.join(map(str, [num1, num2, num3, num4, num5])))
outfile.write('\n'.join(outputData))
代码'\t'.join(map(str, [num1, num2, num3, num4, num5]))
将生成制表符分隔的字符串,其中的数据顺序正确,因此outputData
将是这些字符串的列表。然后'\n'.join(outputData)
会将outputData
中的所有行与将每行分隔的换行符组合在一起,这就是您要写入文件的行。
或者你可以完全摆脱outputData
并做这样的事情:
for <blah blah>
num3,num1,num2,num4,num5 = data
outfile.write('\t'.join(map(str, [num1, num2, num3, num4, num5])) + '\n')