A:修改列名,方法很多。可以使用renamefield, reindex2/ reindex,类SQL或者矩阵,其各类方法应用场景如下:
以下所有范例中的案例数据:
data:=array(
("stockid":"SZ000002","date":"2018-12-03","close":25.73,"vol":60814944.0),
("stockid":"SZ000002","date":"2018-12-04","close":25.13,"vol":50994597.0),
("stockid":"SZ000002","date":"2018-12-05","close":25.3,"vol":40717606.0),
("stockid":"SZ000002","date":"2018-12-06","close":25.1,"vol":24302282.0));
范例1:单个列名的更改:将'date'更改为'日期'
//方法一:renamefield
renamefield(data,'date','日期');
return data;
//方法二:reindex
reindex(data,nil,array('date':'日期'));
return data;
范例2:批量修改列名:修改为自增序列
//方法一:类SQL
return select selectopt(8)* from data end;
//注:该用法同时更改了行标为自增序列
//方法二:reindex2
return reindex2(data,0);
范例3:批量修改列名:批量修改为指定列名
mArr:=array('stockid':'代码','date':'日期','close':'收盘','vol':'成交量');
reindex(data,nil,mArr);
return data;
注:需生成array('stockid':'代码','date':'日期','close':'收盘','vol':'成交量')对照组
若开发者希望通过顺序对照,如希望依次按names:=array('代码','日期','收盘','成交量');顺序修改对应列名,则可通过下面方式加工处理:
names:=array('代码','日期','收盘','成交量');
cArr:=nils(mcols(data,1));
cArr[:]:=names;//生成上述的mArr的结构数据
reindex(data,nil,cArr);
return data;