这是一段代码,它将csv
从 web ( urlread
) 读取数据,textscan
用于扫描数据并将其格式化为单元格(允许字符串和标量),然后将单元格转换为带有cell2struct
. 创建的结构保留textscan
格式。
请注意,您必须定义textscan
格式和cell2struct
输入以适合您的数据。
block = urlread('http://hci.stanford.edu/jheer/workshop/data/florida2000/Florida2000.csv');
C = textscan(block,'%s%s%f%s%f','HeaderLines',1,'EndOfLine','\n');
S = cell2struct(C,{'county','technology','columns','category','ballots'},2)
这是佛罗里达州 2000 年总统选举结果(.csv
938 个数据点)
county,technology,columns,category,ballots
Alachua,Optical,1,under,217
Alachua,Optical,1,over,105
Alachua,Optical,1,Bush,34124
Alachua,Optical,1,Gore,47365
Alachua,Optical,1,Browne,658
Alachua,Optical,1,Nader,3226
Alachua,Optical,1,Harris,6
...
这将产生
S =
county: {938x1 cell} %string
technology: {938x1 cell} %string
columns: [938x1 double] %double
category: {938x1 cell} %string
ballots: [938x1 double] %double
编辑
对于双引号文本,您可以像这样使用%q
而不是%s
调用textscan
(FormatSpec 选项)
C = textscan(fileID,'%q%f');