GAMS csv 读取问题
GAMS csv read issue
我正在尝试使用 MAC 读取具有以下格式的 .csv 文件:
;lon;lat
0;55,245594;25,066697
1;55,135613;25,070419
2;55,275683;25,203425
目前我正在做的是:
$call csv2gdx coords.csv id=d index=1 values=2..lastCol useHeader=y
sets
i
c /x,y/
;
parameters
dloc(i,c) 'locations'
;
$gdxin clients_csv.gdx
$load ___ ?
我想做的是读取参数dloc中的纬度,经度坐标,以便每个i都有一对坐标c,即lat,lon。
示例输出:
x y
i1 17.175 84.327
运行 您的代码从 csv2gdx 产生错误:
*** ErrNr = 15 Msg = Values(s) column number exceeds column count; Index = 2, ColCnt = 1
默认情况下,csv2gdx 需要用逗号分隔的条目,而您的数据中没有。您还可以通过选项将 semicolon
或 tab
定义为分隔符,但如果数据确实具有您发布的格式,则根本不需要调用 csv2gdx
。您可以像这样直接包含数据:
Sets
i
c
;
Table dloc(i<,c<) 'locations'
$include coords.csv
;
Display dloc;
更改输入数据格式后进行编辑:
错误信息还是一样。原因也是一样的:您使用了与默认分隔符不同的字段分隔符。如果您使用选项 fieldSep=semiColon
切换它,您将意识到您的小数点分隔符对于 csv2gdx 也是非默认的。但这也可以改变。这是整个代码(调整后的 csv2gdx 调用和数据加载调整)。请注意,在 dloc
.
的声明中使用 <
语法加载 dloc
时,集合 i
和 c
得到隐式定义
$call csv2gdx coords.csv id=d index=1 values=2..lastCol useHeader=y fieldSep=semiColon decimalSep=comma
Sets
i
c
;
parameters
dloc(i<,c<) 'locations'
;
$gdxin coords.gdx
$load dloc=d
Display dloc;
$exit\
我正在尝试使用 MAC 读取具有以下格式的 .csv 文件:
;lon;lat
0;55,245594;25,066697
1;55,135613;25,070419
2;55,275683;25,203425
目前我正在做的是:
$call csv2gdx coords.csv id=d index=1 values=2..lastCol useHeader=y
sets
i
c /x,y/
;
parameters
dloc(i,c) 'locations'
;
$gdxin clients_csv.gdx
$load ___ ?
我想做的是读取参数dloc中的纬度,经度坐标,以便每个i都有一对坐标c,即lat,lon。
示例输出:
x y
i1 17.175 84.327
运行 您的代码从 csv2gdx 产生错误:
*** ErrNr = 15 Msg = Values(s) column number exceeds column count; Index = 2, ColCnt = 1
默认情况下,csv2gdx 需要用逗号分隔的条目,而您的数据中没有。您还可以通过选项将 semicolon
或 tab
定义为分隔符,但如果数据确实具有您发布的格式,则根本不需要调用 csv2gdx
。您可以像这样直接包含数据:
Sets
i
c
;
Table dloc(i<,c<) 'locations'
$include coords.csv
;
Display dloc;
更改输入数据格式后进行编辑:
错误信息还是一样。原因也是一样的:您使用了与默认分隔符不同的字段分隔符。如果您使用选项 fieldSep=semiColon
切换它,您将意识到您的小数点分隔符对于 csv2gdx 也是非默认的。但这也可以改变。这是整个代码(调整后的 csv2gdx 调用和数据加载调整)。请注意,在 dloc
.
<
语法加载 dloc
时,集合 i
和 c
得到隐式定义
$call csv2gdx coords.csv id=d index=1 values=2..lastCol useHeader=y fieldSep=semiColon decimalSep=comma
Sets
i
c
;
parameters
dloc(i<,c<) 'locations'
;
$gdxin coords.gdx
$load dloc=d
Display dloc;
$exit\