我想从.csv文件导入字符串值,并在MATLAB中使用它们。我使用readtable()和table2array函数来获取字符串值数组。
csv文件具有10个字符串值,如下所示:
香蕉
苹果
橙色
柠檬
苹果
柠檬
草莓
苹果
西瓜
橙色
运行代码时,我应该使用一个1x10数组,它应该以'banana'开头,但是我得到一个1x9数组,而我的第一个字符串是'apple'而不是香蕉。换句话说,我无法获取数组的第一个值。你能帮忙吗?
a = readtable('C:\Users\cinar\Desktop\Test Values.csv');
a = table2array(a);
答案 0 :(得分:1)
如果您可以使用细胞阵列,我可以向您推荐这种方法:
a = fopen('C:\Users\cinar\Desktop\Test Values.csv');
data = fread(a, '*char')'; %read content
fclose(a);
results = regexp(data, ',', 'split'); %return cell array
结果是:
1×10 cell array
Columns 1 through 6
{'banana'} {' apple'} {' orange'} {' lemon'} {' apple'} {' lemon'}
Columns 7 through 10
{' strawberry'} {' apple'} {' watermelon'} {' orange'}
答案 1 :(得分:1)
在matlab的主页选项卡中,我们有一个选项“导入数据”,单击它,然后选择您感兴趣的csv或excel文件,您可以导入整个文档或从文档中选择性地导入特定列!导入时,您可以选择是否要将选定的列作为“列向量/数值矩阵/单元格数组..etc”导入。...之所以使用它,是因为通过单击鼠标即可轻松地选择性地导入行和列!
答案 2 :(得分:1)
我更改了导入数据的功能。我使用了importdata()函数而不是readtable()函数。当我写下面的代码时,我得到了所有的值。(以香蕉开头的1x10数组)
a = importdata('C:\Users\cinar\Desktop\Test Values.csv');