0
csvRead的Scilab文档指出可以同时指定范围(从行,列到列,列)以及要忽略的标题行数。不过,我似乎只能一次做一个。是否可以在Scilab的csvRead中指定范围和标题?
这就是我正在做的事情(基于文档中的一个示例;使用Scilab 5.5.0)。首先,创建一个CSV文件读回:
CSV = ["1,0,0,0,0";
"0,1,0,0,0";
"0,0,1,0,0";
"4,4,1,2,0";
"4,63,1,2,0";
"4,63,1,4,233";
"42,3,23,2,23";
];
filename = fullfile(TMPDIR , 'foo.csv');
mputl(CSV, filename);
现在回读第2行,第1栏的数据第5行,第4栏:
csvRead(filename, [], [], "double", [], [], [2 1 5 4])
这给出结果
ans =
0. 1. 0. 0.
0. 0. 1. 0.
4. 4. 1. 2.
4. 63. 1. 2.
现在假设我想跳过我的CSV文件中的第一行(它可能有一些不重要的标题信息)。我会写:
csvRead(filename, [], [], "double", [], [], [], 1)
其中给出的结果
ans =
0. 1. 0. 0. 0.
0. 0. 1. 0. 0.
4. 4. 1. 2. 0.
4. 63. 1. 2. 0.
4. 63. 1. 4. 233.
42. 3. 23. 2. 23.
所有好为止。如果我想跳过第一线,只有矩阵的店部分,我认为我可以这样写:
csvRead(filename, [], [], "double", [], [], [2 1 5 4], 1)
但是,这和以前给出了相同的答案,也就是只有标题行被删除和范围被忽略:
ans =
0. 1. 0. 0. 0.
0. 0. 1. 0. 0.
4. 4. 1. 2. 0.
4. 63. 1. 2. 0.
4. 63. 1. 4. 233.
42. 3. 23. 2. 23.
是否可以同时指定范围和标题?我只修补Scilab,所以可能会漏掉一些明显的东西。
我打算在Scilab问题跟踪器上添加这个,但是你(我想!)把我打败了,谢谢你的确认。 – ClickyKeys 2014-09-15 08:23:59