在Octave中打开在线文件

时间:2016-07-17 01:00:49

标签: matlab octave

我希望能够通过Octave界面从已知地址下载和打开csv文件,而无需下载文件并将它们分别移动到当前文件夹。我正在寻找下载大量的csv文件,手动操作会很痛苦。

理想情况下,我会输入类似dlmread(' http://...csv')的内容,让Octave为我找到该文件。当然,这不起作用。

Matlab的解决方案对我也有用。感谢。

1 个答案:

答案 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