0

我有一个名为 Book2.csv 的逗号分隔数据集,我想提取内容。内容是一个 496024x1 的字符串数组(正常、海王星、蓝精灵)。

我试过了:

 [text_data] = xlsread('Book2.csv');

但它只是输出了一个 text_data 空数组?

尝试 csvread 时

M = csvread('Book2.csv')
??? Error using ==> dlmread at 145
Mismatch between file and format string.
Trouble reading number from file (row 1, field 1) ==>
norma

Error in ==> csvread at 54
    m=dlmread(filename, ',', r, c);

我得到这个错误。任何人都可以帮忙吗?

4

3 回答 3

4

在我的脑海中,这应该可以完成工作。但可能不是最好的方法。

fid = fopen(your file);  //open file
 //read all contents into data as a char array 
 //(don't forget the `'` to make it a row rather than a column).
data = fread(fid, '*char')';
fclose(fid);
//This will return a cell array with the individual
//entries for each string you have between the commas.
entries = regexp(data, ',', 'split'); 
于 2012-07-16T15:49:35.887 回答
0

尝试类似:textread

data = textread('data.csv', '', 'delimiter', ',', ... 
            'emptyvalue', NaN);
于 2012-07-16T15:41:22.973 回答
0

对我来说最简单的方法是:

path='C:\folder1\folder2\';
data = 'data.csv';
data = dataset('xlsfile',sprintf('%s\%s', path,data));

当然,您还可以执行以下操作:

[data,path] = uigetfile('C:\folder1\folder2\*.csv');
data = dataset('xlsfile',sprintf('%s\%s', path,data));

现在您将数据加载为数据集。例如,获取第 1 列的一种简单方法是

 double(data(1))
于 2013-03-26T20:03:34.453 回答