pyomo从csv或xlsx导入数据

问题描述:

我在Pyomo有一个抽象模型,我需要运行几次更改数据,这就是为什么我想从csv或xls导入一些简单的数据。我尝试了DataPortal以及直接写入数据文件,但没有成功,并会感谢您的帮助!pyomo从csv或xlsx导入数据

DataPortal

我深知网站https://github.com/Pyomo/pyomo/blob/master/examples/doc/pyomobook/attic/ref-dataportal/dataportal_tab.py的,并试图只实现相应的它 - 没有成功:/

我尝试导入“时间跨度”为一组。我有一个在CSV/XLS文件,它从0到23

导入云从XLSX称为“时间跨度”列:

data = DataPortal() 
data.load(filename='Operational_Data.xlsx', range='timespan', set=dispatch.timespan) 
data.load(filename='Operational_Data.xlsx', range=('D2:D49'), param='elload', index=dispatch.timespan) 
instance = dispatch.create_instance(data) 

无论是两个范围选项(栏标题和Excel范围)的工作,时间间隔保持空白。从CSV 导入:

data.load(filename='Operational_Data.csv', set='timespan') 

从CSV导入只导入元组,使得其包括相邻列到“时间跨度”,然而,仅具有一个尺寸。

load Operational_Data.csv using=csv format=set : timespan=[timespan]; 

抛出

OSError: Must specify at least one set or parameter name that will be loaded. 

如何导入数据,我的抽象模型pyomo:

通过Data.dat文件直接

谢谢! 圣马洛

尝试使用像openpyxl不同库中打开文件,然后将其加载到pyomo对象

谢谢您的回答!我尝试了一些像dataframes但不幸运的对象......我必须承认,我还没有尝试openpyxl,但最终通过编写一个函数将数据从csv写入AMPL格式文件(.dat )。不是很优雅,但它的作品:)