我希望能够通过Octave界面从已知地址下载和打开csv文件,而无需下载文件并将它们分别移动到当前文件夹。我正在寻找下载大量的csv文件,手动操作会很痛苦。
理想情况下,我会输入类似dlmread(' http://...csv')的内容,让Octave为我找到该文件。当然,这不起作用。
Matlab的解决方案对我也有用。感谢。
答案 0 :(得分:0)
这听起来像你所要求的并不是特定的octave / matlab本地下载文件的方式,而只是一种自动下载和读取脚本中的csv文件的方法,以避免在运行八度音阶脚本之前需要手动下载和移动文件,这是正确的吗?
上面评论中建议的urlread是一种方式,但是你会遇到一个你必须自己解释为数据的字符串。
我的方法是使用system
函数从底层操作系统运行下载程序命令。我建议wget
。它已经准备好在linux中,您也可以下载Windows wget.exe版本。这意味着wget将为您处理下载,然后您使用标准的csv工具(如csvread)打开您的.csv文件。
因此,要下载并处理一批csv文件,您的脚本可能如下所示:
for n = 1 : 10
wgetCommand = sprintf ('wget http://path/to/my/data%d.csv', n);
Exitcode = system (wgetCommand);
assert (Exitcode == 0, sprintf ('%s failed!\n', wgetCommand));
M = csvread (sprintf('./data%d.csv', n));
% ... do something with M
end