2016-08-15 31 views
0

私はPythonで複数のファイルを読む(それらの特定の部分を読み込む)コードを作成しました。私の目標はこれらのデータポイントをすべてmatlab形式に保存することです。これは私の「メインプログラム」です(すべての機能は前に定義されています)。sio.savemat関数を使用して複数のデータセットを保存する方法は?

+0

の前または後に最も 'save'機能の正常な動作は同じ名前の任意のファイルを上書きし、新しいファイルに書き込むことです。あなたワット場合、一部のユーザーフレンドリーなコマンドが尋ねますアリを上書きする。それ以外の場合は、 'appending'のためにファイルを開く特別なアクションを取らなければなりません。答えが見つかるにつれ、 '.mat'のような複雑なデータ構造に何が追加できるかには限界があります。 – hpaulj

答えて

2

このquestionは、savematを使用してデータを追加する方法です。しかし、それはあなたの問題を解決できないかもしれませんが、既存の辞書キーにのみデータを追加することができるとAskerが言います。

私がお勧めするのは、データを辞書に追加して、それを最後に一度だけマットファイルに保存することです。

はあなたが辞書を作成し、それを保存し、コードの1行を持つループの外側

myDictionary = {} 

を辞書を初期化します。

sio.savemat('Argo_Trajectories.mat', {'data':data}) 

2と、その行を置き換えます(これは可能ではなく、それらを全てのデータに名前を付けるよりもユニークなキーを作成して、ループが終了した後、辞書

newkey = 'data%d' % ifl 
myDictionary[newkey] = data 

にデータを追加し、辞書を保存あなたの関数で2番目にprint(z)

sio.savemat('savename.mat',myDictionary) 
+0

まずは、お返事ありがとうございます!それがうまくいくかのように聞こえ、私はこれを試してみるつもりですが、私は前に質問があります。あなたが投稿した2番目と3番目のコマンドをどこに置くかわからないので、質問を編集してデータ処理機能を追加します。ループに挿入するのか、関数に挿入するべきなのですか(これは私が一瞬で投稿します)?もう一度おねがいします – jstack

+0

わかりやすくするために編集を追加します – Trogdor

+0

偉大な、それは完全に働いた。ありがとう! – jstack

関連する問題