Python:附加到数组

时间:2012-02-15 20:51:57

标签: python parsing

我正在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))

如何重新排列变量并将它们输出到一个漂亮的结构化数组中?

1 个答案:

答案 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')