9

データをファイル (後でプロットします) に効果的に保存するにはどうすればよいですか?

私は私の研究からこれを得ました:

#Open new data file
f = open("data2.txt", "w")
f.write( str(yEst)  )      # str() converts to string
f.close()

これまでのコードの一部を次に示します。

for i in drange2(0, 2*math.pi + 0.0634665182543392 , 0.0634665182543392):
    for x in range(1,N+1):
       yEst = yEst + a * cos(x* i)
#print yEst
f.write( str(yEst)  )      # str() converts to string
yEst=0
f.close()

ここで、ファイル " " を開いてdata2.txtデータを読み取ることができません。データが「整理」されていないためです。f.write( str(yEst) )ファイル「data2.txt」に「yEst」データを含む列があるように、を使用して次の行に移動するにはどうすればよいですか?ご検討いただきありがとうございます:)

PS: yEst は次のようになります (data2.txt ファイル内):48.901347147148.605785828748.114506165947.429486 ..列として使用したい: -->

48.9013471471 (new line)
48.6057858287 (new line)
48.1145061659 (new line)
47.4294863684    
etc ..                        
4

3 に答える 3

13

このように、データの各ポイントを独自の行に配置したいという意味ですか?

48.9013471471
48.6057858287
48.1145061659
47.4294863684

もしそうなら、あなたはこのような何かを試してみたいかもしれません:

for i in drange2(0, 2*math.pi + 0.0634665182543392 , 0.0634665182543392):
    for x in range(1,N+1):
       yEst = yEst + a * cos(x* i) 
       f.write( str(yEst) + "\n"  )
f.close()

まず、各データポイントを行に書き込むには、ループの「内側」にある必要があります。そのため、を呼び出す前に行にスペースを追加しましたf.write

2番目に追加+ "\n"したのは、行末に改行文字を追加することです。好きなように変更できます!いくつかの例:

f.write( str(yEst) + " " )各データポイントの後に1つのスペースを追加します。

48.9013471471 48.6057858287 48.1145061659 47.4294863684

f.write( str(yEst) + "|" )各データポイントの後に1つのパイプ文字を追加します。

48.9013471471|48.6057858287|48.1145061659|47.4294863684|

一方、データを配列として保存したい場合は、以下を試してください。

yEst = 0 # or some initial value
yEstArray = []
for i in drange2(0, 2*math.pi + 0.0634665182543392 , 0.0634665182543392):
    for x in range(1,N+1):
       yEst = yEst + a * cos(x* i) 
       yEstArray.append(yEst)

次に、次のように配列を反復処理できます。

for yEst in yEstArray:
    do something with yEst

また

for yEst, index in enumerate(yEstArray):
    do something with yEst and its index
于 2012-08-28T18:44:47.243 に答える
6

Python には、データを永続化するための 3 つの主な組み込み方法があります。

  1. pickleオブジェクトをファイルにシリアル化します。
  2. sqlitepickle- 多くの ORM システムでサポートされている埋め込み SQL データベース (これを追加すると、オブジェクト ストレージの優れた代替手段になります)。と
  3. json/ yaml- 基本的なデータ構造と型を使用した Web 向けのシリアライゼーション。
于 2012-08-28T18:13:16.293 に答える
6

データのシリアル化にはpickleが必要です。

于 2012-08-28T18:06:43.883 に答える