如何使用`textscan`将字符串转换为表?

基督教

我使用MATLAB中读COVID-19数据由约翰霍普金斯大学提供的.csv的文件使用urlread,但我不知道如何使用textscan在下一步,以便将字符串转换成表格。.csv文件的前两列是指定区域的字符串,其后大量包含按日期记录的已感染数目的列。

目前,我只是保存urlread本地返回的字符串,然后再打开此文件importdata,但是肯定应该有一个更优雅的解决方案。

最高

您混淆了两件事:您要使用“ textscan”(当然还有“ fopen”和“ fclose”)从下载的csv文件中进行读取,或者要使用“ urlread”(或者更确切地说是“ webread”)如MATLAB建议不要再使用“ urlread”。我选择后者,因为我自己从来没有做过^^

因此,首先我们读取数据并将其拆分为行

url = "https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_19-covid-Confirmed.csv";
% read raw data as single character array
web = webread(url);
% split the array into a cell array representing each row of the table
row = strsplit(web,'\n');

然后,我们分配一个表(预分配对MATLAB有利,因为它在RAM中的连续地址上存储变量,因此请事先告知MATLAB您需要多少空间):

len = length(row);
% get the CSV-header as information about the number of columns
Head = strsplit(row{1},',');
% allocate table 
S = strings(len,2);
N = NaN(len,length(Head)-2);
T = [table(strings(len,1),strings(len,1),'VariableNames',Head(1:2)),...
    repmat(table(NaN(len,1)),1,length(Head)-2)];
% rename columns of table
T.Properties.VariableNames = Head;

请注意,我做了一个小技巧,通过重复一个表来分配这么多“ NaN”的可修复列。但是,将这个表与字符串表合并是很困难的,因为它们都包含列名var1var2这就是为什么我立即重命名第一个表的列的原因。

现在我们可以实际填写表格了(由于发现将“ Korea,South”写成逗号分隔的文件很好的人,这有点讨厌

for i = 2:len
    % split this row into columns
    col = strsplit(row{i},',');
    % quick conversion
    num = str2double(col);

    % keep strings where the result is NaN
    lg = isnan(num);
    str = cellfun(@string,col(lg)); 
    T{i,1} = str(1);
    T{i,2} = strjoin(str(2:end));% this is a nasty workaround necessary due to "Korea, South"
    T{i,3:end} = num(~lg);
end

这也将在未来的日子里发挥作用。让我知道您实际上将如何处理数据

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用DateFormat将FileTime转换为字符串

来自分类Dev

如何使用PostgreSQL将字符串转换为unicode?

来自分类Dev

如何使用stoi()将字符串转换为整数?

来自分类Dev

如何使用SwiftyJSON将字符串转换为JSON

来自分类Dev

如何使用.join()将字母转换为字符串

来自分类Dev

如何使用stoi()将字符串转换为整数?

来自分类Dev

如何使用simpledateformat将字符串转换为日期

来自分类Dev

如何使用PostgreSQL将字符串转换为unicode?

来自分类Dev

如何使用gson将json转换为字符串

来自分类Dev

如何使用高棉字符串将字符串转换为字节,反之亦然?

来自分类Dev

如何使用python将字符串转换为字典(格式错误的字符串)

来自分类Dev

如何以编程方式访问SQLite表(将字符串转换为表名)

来自分类Dev

如何从哈希表将字符键转换为字符串输出

来自分类Dev

如何在不使用load()或loadstring()的情况下将表格式的字符串转换为表?

来自分类Dev

如何使用json.net WCF Rest Service将数据表转换为json字符串输出

来自分类Dev

如何使用json.net WCF Rest Service将数据表转换为json字符串输出

来自分类Dev

将哈希表转换为键值对的字符串

来自分类Dev

将哈希表转换为字符串数组

来自分类Dev

将R表转换为JSON字符串

来自分类Dev

将JSON字符串转换为数据表?

来自分类Dev

播种表时将数组转换为字符串

来自分类Dev

将表字符串转换为实际表

来自分类Dev

使用转换将字符串转换为日期

来自分类Dev

如何将字符串转换为Unicode字符

来自分类Dev

如何将字符从数组转换为字符串

来自分类Dev

如何将字符数组转换为字符串

来自分类Dev

如何将字符串转换为字符

来自分类Dev

如何将数据表值从整数转换为字符串

来自分类Dev

如何将HTML表对象转换为字符串?

Related 相关文章

  1. 1

    如何使用DateFormat将FileTime转换为字符串

  2. 2

    如何使用PostgreSQL将字符串转换为unicode?

  3. 3

    如何使用stoi()将字符串转换为整数?

  4. 4

    如何使用SwiftyJSON将字符串转换为JSON

  5. 5

    如何使用.join()将字母转换为字符串

  6. 6

    如何使用stoi()将字符串转换为整数?

  7. 7

    如何使用simpledateformat将字符串转换为日期

  8. 8

    如何使用PostgreSQL将字符串转换为unicode?

  9. 9

    如何使用gson将json转换为字符串

  10. 10

    如何使用高棉字符串将字符串转换为字节,反之亦然?

  11. 11

    如何使用python将字符串转换为字典(格式错误的字符串)

  12. 12

    如何以编程方式访问SQLite表(将字符串转换为表名)

  13. 13

    如何从哈希表将字符键转换为字符串输出

  14. 14

    如何在不使用load()或loadstring()的情况下将表格式的字符串转换为表?

  15. 15

    如何使用json.net WCF Rest Service将数据表转换为json字符串输出

  16. 16

    如何使用json.net WCF Rest Service将数据表转换为json字符串输出

  17. 17

    将哈希表转换为键值对的字符串

  18. 18

    将哈希表转换为字符串数组

  19. 19

    将R表转换为JSON字符串

  20. 20

    将JSON字符串转换为数据表?

  21. 21

    播种表时将数组转换为字符串

  22. 22

    将表字符串转换为实际表

  23. 23

    使用转换将字符串转换为日期

  24. 24

    如何将字符串转换为Unicode字符

  25. 25

    如何将字符从数组转换为字符串

  26. 26

    如何将字符数组转换为字符串

  27. 27

    如何将字符串转换为字符

  28. 28

    如何将数据表值从整数转换为字符串

  29. 29

    如何将HTML表对象转换为字符串?

热门标签

归档