【问题标题】:Data import in Pyomo from csv or xlsx从 csv 或 xlsx 在 Pyomo 中导入数据
【发布时间】:2017-06-16 02:59:48
【问题描述】:

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

数据门户

我很了解该网站https://github.com/Pyomo/pyomo/blob/master/examples/doc/pyomobook/attic/ref-dataportal/dataportal_tab.py 并尝试相应地实施它 - 没有成功:/

我尝试将“时间跨度”作为一组导入。我在 csv/xls 文件中有一个名为“timespan”的列,从 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 导入仅导入元组,以便将相邻列包含到“时间跨度”中,但该时间跨度只有一维。

直接通过data.dat文件:

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 模型导入数据?

谢谢! 马洛

【问题讨论】:

    标签: load data-import pyomo


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      尝试使用其他库(如 openpyxl)打开文件,然后将它们加载到 pyomo 对象中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-15
        • 2019-12-29
        • 2016-11-12
        • 2015-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多