2012-02-15 12 views
1

私はMATLABで解決策を書いていますが、Pythonを使ってテキストファイルを解析しています - 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)) 

がどのように変数を再配置し、素敵な構造化された配列に彼らに出力を持っているのですか?

答えて

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') 
+0

私の「num1を」、「NUM2」などが山車とダブルスです。文字列に変換するにはどうしたらいいですか? (私はこれが "期待される文字列、浮動小数点が見つかりました"というエラーを受け取ったので、これが私がしなければならないと仮定します) – CaptainProg

+0

@CaptainProg - 'map(str、[num1、num2、num3、num4、num5])'文字列のリストに浮かれて、私はそれを追加する私の答えを編集しました。 –

+1

これは本当にありがとうございます。 Pythonは分かりやすい言語のようです – CaptainProg