将.csv文件中的字符串值导入MATLAB

时间:2019-03-21 19:41:44

标签: string matlab csv export-to-csv

我想从.csv文件导入字符串值,并在MATLAB中使用它们。我使用readtable()和table2array函数来获取字符串值数组。

csv文件具有10个字符串值,如下所示:

香蕉

苹果

橙色

柠檬

苹果

柠檬

草莓

苹果

西瓜

橙色

运行代码时,我应该使用一个1x10数组,它应该以'banana'开头,但是我得到一个1x9数组,而我的第一个字符串是'apple'而不是香蕉。换句话说,我无法获取数组的第一个值。你能帮忙吗?

a = readtable('C:\Users\cinar\Desktop\Test Values.csv');
a = table2array(a);

3 个答案:

答案 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');