いくつかの.datファイルをプロットするための小さなPythonスクリプトを作成します。そのためにはまずファイルを処理する必要があります。 .datファイルは次のようになります。ファイルを読み込み、テキストフィールドをドロップし、数値フィールドを残す
(Real64
(numDims 1)
(size 513)
(data
[ 90.0282291905089 90.94377050431068 92.31708247501335 93.38521400778211 94.60593575951782 95.67406729228657 97.04737926298925 97.96292057679104 ...]
)
)
テキスト部分と「通常」括弧を削除します。私はちょうど[.....]の間にデータが必要です。
from Tkinter import Tk
from tkFileDialog import askopenfilename
# just a small GUI to get the file
Tk().withdraw()
filename = askopenfilename()
import numpy as np
with open(filename) as f:
temp = f.readlines(5) #this is the line in the .dat file
for i in range(len(temp)-1):
if type(temp[i]) == str:
del temp[i]
しかし、これは常に「アウト境界のインデックス」につながる:
私はこのような何かを試してみました。ヘルプは非常に高く評価されます。
この '.dat'ファイルはどこから取得していますか? JSONのような別のフォーマットを生成しているものは何でもありますか?そうでない場合は、空白をコンマで置き換えてJSONとして解析することができます。 –
「*テキスト部分を削除する」とはどういう意味ですか?はっきりしてください。与えられた入力に対して期待される出力を表示します。 '(size 513)' - > '(513)'、 '513'か、完全に削除するか?正規表現を使ってこれをすべて行うことができますが、正確に何をしたいのかを指定していません。 – smci
正規表現を試しましたか? – chbchb55