大きなデータ ファイルを読み込んで、他のスクリプトがより適切に処理できる形式に変換しようとしています。
各データファイルには一連のヘッダーがあり、その後に関連するデータ ポイントを参照する 2 つの列が続きます。これに続いて、別の一連のヘッダー (同じ列内) と、次の関連データ ポイントのセットが続きます。たとえば、次のようになります。
行を並べ替えて、複数の列で構成されるファイルに書き込む必要があります。したがって、データの各セットの最初の列は同じ (頻度) であるため、取得しようとしているものは次のようになります。
私はpythonが初めてで、これを管理する半分の成功した方法をまだ見つけなければなりません。基本的なifステートメントを試しました:
def LoadData(filename):
Datafile = open(filename,'r')
# Define empty lists to read the values into
a1 = []
data=Datafile.readlines()
index = 1
for line in range(14,len(data)):
w=data[line].split()
if type(w[0]) == float:
a1.append(w[index])
if re.findall(r'[\w.]THz', w[0]):
index = index +1
return a1
しかし、リストを多次元に定義できないため、次の一連のデータ値を別の列に割り当てる方法がわかりません。最初に正確な次元を知る必要があるため、numpy 配列を定義しても役に立ちません。
これを行うための比較的簡単な方法があるに違いないと確信していますが、それを見つけることができませんでした。助けていただければ幸いです!
これは、コメントで要求されたメモ帳で開いたデータです。