You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pyomo仓库优化模型运行报错IndexError: list index out of range求助

Pyomo仓库问题代码IndexError排查

出现IndexError: list index out of range的核心原因是命令行参数未正确传入,以下是具体分析和解决办法:

最可能的原因:缺少命令行参数

代码中使用sys.argv[1]读取Excel文件路径,sys.argv[2]读取仓库数量上限P,但如果运行脚本时没有传入这两个参数,sys.argv列表的长度不足3,访问索引1或2就会触发索引越界。

解决方式

运行脚本时必须传入两个参数,格式如下:

python your_script.py path/to/your/excel_file.xlsx 2

(把your_script.py换成你的脚本文件名,path/to/your/excel_file.xlsx换成实际的Excel路径,2是你要设置的仓库数量上限)

其他可能的排查方向

  • Excel工作表名称不匹配:代码指定读取名为'Delivery Costs'的工作表,检查你的Excel文件中是否存在完全同名的工作表(注意大小写、空格都要一致)
  • Excel数据格式错误:确保Excel文件的第一行是表头、第一列是索引列,否则pandas.read_excel可能读取不到有效数据,导致N或M为空列表,后续创建变量/约束时也可能引发索引错误

优化建议:添加参数校验

可以在脚本开头加入参数检查,提前提示错误:

import pandas
import sys
from pyomo.environ import*

# 新增参数校验
if len(sys.argv) != 3:
    print("请传入正确参数:python 脚本名.xlsx <Excel文件路径> <仓库数量上限P>")
    sys.exit(1)

df = pandas.read_excel(sys.argv[1], 'Delivery Costs',header=0, index_col=0)
# 后续代码保持不变

内容的提问来源于stack exchange,提问作者Samuel M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 11:05:19