如何将Excel数据导入Python?附CPLEX OPL导入示例
使用Pandas实现CPLEX OPL同款Excel数据导入
下面是对应你OPL代码的Pandas实现,通过read_excel方法精准读取Excel指定区域的数据:
步骤1:导入依赖库
import pandas as pd
步骤2:读取Excel文件并逐个加载数据
# 定义Excel文件路径 file_path = "DATA.xlsx" # 对应OPL中的v from SheetRead(file, "Set1!C2:F4") v = pd.read_excel(file_path, sheet_name="Set1", usecols="C:F", skiprows=1, nrows=3) # 对应f from SheetRead(file, "Set1!C7:F9") f = pd.read_excel(file_path, sheet_name="Set1", usecols="C:F", skiprows=6, nrows=3) # 对应u1 from SheetRead(file, "Set1!C13:F16") u1 = pd.read_excel(file_path, sheet_name="Set1", usecols="C:F", skiprows=12, nrows=4) # 对应u2 from SheetRead(file, "Set1!J13:M16") u2 = pd.read_excel(file_path, sheet_name="Set1", usecols="J:M", skiprows=12, nrows=4) # 对应u3 from SheetRead(file, "Set1!P13:S16") u3 = pd.read_excel(file_path, sheet_name="Set1", usecols="P:S", skiprows=12, nrows=4) # 对应C from SheetRead(file, "Set1!C21:F23") C = pd.read_excel(file_path, sheet_name="Set1", usecols="C:F", skiprows=20, nrows=3) # 对应MOQ from SheetRead(file, "Set1!C27:F29") MOQ = pd.read_excel(file_path, sheet_name="Set1", usecols="C:F", skiprows=26, nrows=3) # 对应D from SheetRead(file, "Set1!B42:D42") D = pd.read_excel(file_path, sheet_name="Set1", usecols="B:D", skiprows=41, nrows=1) # 对应strat from SheetRead(file, "Set1!C33:F35") strat = pd.read_excel(file_path, sheet_name="Set1", usecols="C:F", skiprows=32, nrows=3)
补充说明
usecols:指定读取的列范围,和Excel中的列标识一致skiprows:跳过的行数(Excel行号-1,因为Pandas从0开始计数)nrows:读取的行数(目标区域的结束行号 - 起始行号 + 1)- 如果需要将DataFrame转换为CPLEX可用的数组/矩阵格式,可以使用
.to_numpy()方法,比如v_array = v.to_numpy()
内容的提问来源于stack exchange,提问作者Trí Vũ
相关产品推荐
相关产品推荐

