【发布时间】:2020-02-04 19:41:03
【问题描述】:
我是一名刚接触 Python 编码的学生。 我使用 Dymola 已经好几年了,现在我正在使用 Dymola/Python 界面,您可以通过该界面从 Python 内部操作 Dymola(用于构建股票模拟、全局敏感性分析等)。
现在,Dymola 始终以高效的不可读数据结构生成 .mat 文件。我想知道如何使用 Python 脚本将我感兴趣的变量从 .mat 文件导出到 .csv? (我不希望将整个文件转换为 .csv,因为它太大了)
我知道 Python 的 DyMat 包应该可以完成这项工作,但要么我不理解代码,要么代码没有做它应该做的事情?有人有这方面的经验吗? 我可能错过了一些定义必须从哪个 .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()
谢谢!
【问题讨论】:
标签: python python-3.x matlab export-to-csv openmodelica