我正在 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))
如何重新排列变量并将它们输出到一个漂亮的结构化数组中?
最佳答案
尝试以下操作:
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')
关于Python:追加到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9301167/