Pythonを使用してマットファイルをtxtに変換します



Convert Mat File Txt Using Python



Pythonを使用して.matファイルをtxtファイルに変換します
最近使用されたspmを使用してfmriデータを処理し、処理後に取得されたDFCマトリックスは.mat形式であり、後続の実験を容易にするためにtxtに変換し、練習を記録する必要があります
1.データ形式
まず第一に、私のデータ形式はこのようなものです
画像DRStructは変数名であり、各W_0001_0020はサンプルの時点データを表し、各時点データは90です。 90行列、したがって、サンプルの1時点データ(100時点)形式変換をフォーマットする必要があります。つまり、txtファイルを取得するためにwで始まるファイルには、n個のサンプルがあり、各サンプルはmです。時間、私はmを取得する必要があります N txtファイルDRStructは変数名であり、各W_0001_0020はサンプルの時点データを表し、各時点データは90です。 90行列、したがって、サンプルの1時点データ(100時点)形式変換をフォーマットする必要があります。つまり、txtファイルを取得するためにwで始まるファイルには、n個のサンプルがあり、各サンプルはmです。時間、私はmを取得する必要があります ntxtファイル

2.プログラムの実装
2.1フォルダを作成する
サンプルごとにフォルダがあり、手動では面倒なのでプログラムで実装する必要があります
コードは次のとおりです。



import os def mkdir(path): folder = os.path.exists(path) if not folder: #Judge whether there is a folder, if it does not exist, create a folder os.makedirs(path) #makedirs This path will be created if the path does not exist when creating a file print ('--- new folder... ---') print ('--- OK ---') else: print ('--- There is this folder! ---') for y in range (373,424) : print (y) file = 'G:\ABIDE_3-29373-29423\result\'+str(y)+'' mkdir(file) #Call functions ######################################################### #mat txt import scipy.io as scio import numpy as np def mat2txt(path): data = scio.loadmat(path) x = data['DRStruct'] return x def mat2txt1(title,path): data_all = mat2txt(path) data1 = data_all[0,0][title] return data1 if __name__ == '__main__': for i in range (411,424): print (i) #k = mat2txt(path = 'H:\ABIDE_1-29273-29322\GretnaDFCMatrixR\r29'+str(i)+'.mat') for j in range (1,133): '''This paragraph is because my file label ‘1’ is ‘001’, and ‘2’ is ‘002’, you can ignore it if you don’t need to.”’ m = str(j) n = m.zfill(3) p = j+19 q = str(p) r = q.zfill(3) '''################################################''' result = mat2txt1(title = 'W_0'+str(n)+'_0'+str(r)+'',path = 'G:\ABIDE_3-29373-29423\GretnaDFCMatrixR\r29'+str(i)+'.mat') np.savetxt('G:\ABIDE_3-29373-29423\result\'+str(i)+'\'+str(j)+'.txt',result)