matlab - 将来自网络源的逗号分隔的.csv数据存储到matlab中的矩阵中

标签 matlab csv web store live

我正在尝试下载此逗号分隔的信息并保存它,以便可以将其存储为矩阵,然后可以访问。到目前为止,我有代码,我认为应该将信息存储在名为 test.csv 的文件中,但我不确定:

>> urlwrite('http://xweb.geos.ed.ac.uk/~weather/jcmb_ws/JCMB_2013_Mar.csv','test.csv');

d = csvread('test.csv');



??? Error using ==> dlmread at 145
Mismatch between file and format string.
Trouble reading number from file (row 1, field 1) ==> date-
Error in ==> csvread at 50
    m=dlmread(filename, ',', r, c);

我收到上述错误。它使用 urlread 很好地读取数据。有谁知道正确的语法应该是什么以及如何将其存储为矩阵?提前致谢。

最佳答案

您可以直接从网络获取数据,无需使用 URLREAD 保存到文件:

webdata = urlread('http://xweb.geos.ed.ac.uk/~weather/jcmb_ws/JCMB_2013_Mar.csv');

这将为您提供整个文件作为一个字符串,其中行由“\n”分隔。您可以通过多种方式处理它。例如:

tmp = textscan(webdata,['%s',repmat('%f',1,8)],'delimiter',',','headerlines',1);
date = tmp{1};
data = horzcat(tmp{2:end});

要获取列标题,您可以执行以下操作:

colheader = textscan(webdata,'%s',1,'delimiter','\n'); 
colheader = regexp(colheader{:},',','split');
colheader = colheader{:};

您还可以将数据转换为结构:

Data = cell2struct(tmp, genvarname(colheader),2);

关于matlab - 将来自网络源的逗号分隔的.csv数据存储到matlab中的矩阵中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15257887/

相关文章:

file - 是否有一种既定的方法可以将配置文件用于已部署的 MATLAB 应用程序?

matlab - 矩阵各行的排列

linux - 使用新数据更新 CSV 行并保存文件

text - 制表符分隔或逗号分隔输出中的新行

javascript - Highcharts 更新打破了之前的布局

css - 在网页上绘制 3 个垂直带

matlab - 使用 MATLAB 将 sigmoid 拟合到我的数据中

python - 使用 NLTK 和 Pandas 删除停用词

php - 连接到客户端桌面应用程序的网站

c++ - 一维的 opencv dft 与 matlab fft