In [1]:
import numpy as np
import scipy.io
import pandas as pd
import os

# Lade matlab struct
matPath = r"D:\C\Uni\Master\KSS\MV_Analyse\MatLab\Messmatrix_Beispiel_small.mat"
mat = scipy.io.loadmat(matPath)

savePath = os.path.join(os.getcwd(),os.path.basename(matPath)[:-4]+".csv")

In [2]:
# erhalte Zeilenbezeichnungen
columnsExt = mat["columnnames"].T
columns = []
for i in np.arange(len(columnsExt)):
    columns.append(columnsExt[i][0][0])

In [3]:
# Lade Kennwerte und schreibe inkl Zeilenbezeichnungen in dataframe
data = mat["X"]
df = pd.DataFrame(data)
df.columns = columns

In [4]:
df.head()


Out[4]:
Header_Pseudonummer Header_Walzlos Header_Leitguete Header_Anzahl_Bloecke_im_Los Header_Soll_AD Header_Soll_WD WAS_Blockmasse WAS_Blocklaenge WAS_Kerntemperatur WAS_Oberflaechentemperatur ... SRW_Endwalztemp_Mittelwert SRW_Endwalztemp_Kruemmung Exzentri_Mittelwert Exzentri_MW_Anfang Exzentri_MW_Mitte Exzentri_MW_Ende Exzentri_Standardabweichung Exzentri_Maximum SPL_T_vor_SPL_Mittelwert SPL_T_vor_SPL_Kruemmung
0 1.283698e+09 71600914.0 10300.0 177.0 31.8 3.6 201.0 730.8 650.0 712.0 ... NaN NaN 1.312685 1.642733 1.107086 1.396027 0.678052 4.1088 NaN NaN
1 1.283699e+09 71600914.0 10300.0 177.0 31.8 3.6 201.2 731.1 650.0 691.0 ... NaN NaN 1.806910 1.717785 1.624160 2.253463 0.748043 5.0915 NaN NaN
2 1.283699e+09 71600914.0 10300.0 177.0 31.8 3.6 201.2 732.0 650.0 723.0 ... NaN NaN 2.358595 2.804569 1.781053 3.097531 1.114924 5.8935 NaN NaN
3 1.283700e+09 71600914.0 10300.0 177.0 31.8 3.6 200.6 730.8 650.0 727.0 ... NaN NaN 1.901708 2.404824 1.767721 1.761576 1.060964 7.3769 NaN NaN
4 1.283700e+09 71600914.0 10300.0 177.0 31.8 3.6 200.6 730.8 650.0 722.0 ... NaN NaN 1.462318 1.449374 1.060459 2.271651 0.799694 7.0515 NaN NaN

5 rows × 74 columns


In [5]:
df.to_csv(savePath, index=False)

In [ ]: