我正在尝试从 .csv 文件中导入一些数据,我已经搜索了解决方案,但似乎没有人能解决我的问题。我的 .csv 只是一列数字,但是当我尝试使用 csvread('myfile.csv') 读取它时,它说它无法从字符串转换。当我在 matlab 中双击 .csv 文件时,我可以看到 .csv 中的每个数字都有这个方面:
“996.47”
所以每个数字都在双逗号之间,无论我做什么,我都无法得到它们之间的数字。我也在尝试打开文件并使用 textscan 但我找不到办法。非常感谢您提前。
我正在尝试从 .csv 文件中导入一些数据,我已经搜索了解决方案,但似乎没有人能解决我的问题。我的 .csv 只是一列数字,但是当我尝试使用 csvread('myfile.csv') 读取它时,它说它无法从字符串转换。当我在 matlab 中双击 .csv 文件时,我可以看到 .csv 中的每个数字都有这个方面:
“996.47”
所以每个数字都在双逗号之间,无论我做什么,我都无法得到它们之间的数字。我也在尝试打开文件并使用 textscan 但我找不到办法。非常感谢您提前。
您可以尝试以下解决方法:
V = dlmread('myfile.csv','"');
v = V(:,2)
根据您的描述,您有一列格式为“996.47”的值。第一行创建了一个矩阵,其中列由 '"' 分隔 - 您将获得三列,其中中间的列填充您的值。第二行提取中间列。
怎么用
importdata('yourfile.csv')
如果您只对数据感兴趣,它应该可以工作。
如果您想要一个不需要处理索引的更通用的解决方案,您可以使用 MATLAB 的内置函数importdata。
x = importdata('yourfile.csv'); % reads in the file as text surrounded by double quotes
x = cellfun(@str2num,strrep(v,'"','')); % removes the double quotes and changes text to numbers