我正在使用Matlab中的csvread语法m =csvread('reserve2.csv',7,3,[7,3,9,4])
来读取CSV文件中的逗号分隔值。不幸的是,CSV文件中指定行和列中的数字列出了它们周围的双引号,我收到以下错误:
使用dlmread时出错(第143行) 文件和格式字符串不匹配。 无法从文件中读取“数字”字段(行号1,字段编号4)==> “0”, “568” \ n
csvread出错(第49行) m = dlmread(filename,',',r,c,rng);
如何调用csvread使它即使在双引号中也可以读取值?或者我如何编写代码来摆脱CSV文件中的引号?
答案 0 :(得分:0)
此文件中有多种阅读方式。
str ='a,A,“a,apple”'; out = textscan(str,'%s%s%q','delimiter',',') 此命令将生成一个包含'a','A'和'a,apple'的单元格数组'out。
如果您使用的是Windows平台并安装了Microsoft Excel,则可以使用以下XLSREAD语法将数据读入两个单元阵列:
[num_data text_data] = xlsread(filename);
执行此命令后,数据将被复制到以不同方式处理数据的2个不同阵列:
“num_data” - 仅包含数字数据;字符串和空字段将转换为NaN
“text_data” - 包含以字符串形式读取的所有数据。两个双引号之间的文本将被解析为单个字符串
有关这些功能的更多信息,请在MATLAB命令提示符下执行以下命令来参考文档:
doc textscan doc xlsread doc fread doc fgetl