Я студент, который плохо знаком с программированием на Python. Я использую Dymola в течение нескольких лет, и теперь я использую интерфейс Dymola / Python, с помощью которого вы можете управлять Dymola изнутри Python (полезно для построения стандартных моделей, анализа глобальной чувствительности и т. Д.).
Теперь,Dymola всегда генерирует файлы .mat в эффективной нечитаемой структуре данных. Мне было интересно, как экспортировать интересующие меня переменные из этого .mat-файла в .csv, используя Python-скрипт? (Я не хочу, чтобы весь файл конвертировался в .csv, потому что он слишком большой)
Мне известен DyMat-пакет для Python, который должен выполнять эту работу, но я нене понимаете код или код не делает то, что должен делать? У кого-нибудь есть опыт с этим? Возможно, мне не хватает некоторого кода, определяющего, из какого файла .mat нужно читать / экспортировать, какие переменные мне нужны и в каком каталоге должен храниться файл result.csv?
import csv, numpy
def export(dm, varList, fileName=None, formatOptions={}):
"""Export DyMat data to a CSV file"""
if not fileName:
fileName = dm.fileName + '.csv'
oFile = open(fileName, 'w')
csvWriter = csv.writer(oFile)
vDict = dm.sortByBlocks(varList)
for vList in vDict.values():
vData = dm.getVarArray(vList)
vList.insert(0, dm._absc[0])
csvWriter.writerow(vList)
csvWriter.writerows(numpy.transpose(vData))
oFile.close()
Спасибо!