HTML文件拒绝被Matlab读取

时间:2015-03-31 19:23:18

标签: matlab csv save-as

我目前正在编写一个matlab程序,初始阶段涉及从文件夹中调用.csv文件。由于未知的原因,matlab将不会读取文件(使用csvreader,dataimport和fopen进行检查)。注意 - 它绝对是一个csv文件!

但是,我打开了其中一个文件,按下“另存为”,给它起了相同的名称和文件格式。发生的唯一值得注意的事情是文件大小显着减少,然后matlab可以神奇地打开它,但我不明白为什么。

任何人都可以解释为什么会这样吗?我只是打开并重新保存文件,除了数据与大量样本相关,这将使手动过程非常长。如果它是相关的,则数据从Instron输出。

非常感谢:)

EDIT 所以这是一个名为'2mm.csv'的文件的示例,使用记事本打开(前10行~111,000):

Time,Extension,Load
(s),(mm),(N)
"0.00000","51.97554","0.09549"
"1.00000","52.13438","0.24999"
"2.00000","52.30102","0.13996"
"3.00000","52.46782","0.19513"
"4.00000","52.63449","0.15348"
"5.00000","52.80097","0.26828"
"6.00000","52.96780","0.32510"
"7.00000","53.13446","0.67119"
"8.00000","53.30105","4.56026"
"9.00000","53.46772","17.80811"

这是我用来打开它的代码和结果:

>> importdata('2mm.csv',',',2)

ans = 

    'Time,Extension,Load'
    '(s),(mm),(N)'

请注意,它只捕获了前两行,并且没有分隔逗号。

所以我在MS Excel中打开文件,将其保存为2mmv2.csv并输入相同的代码。我得到了预期的结构:

>> importdata('2mmv2.csv',',',2);
>> ans.data(1:10,:)

ans =

         0   51.9755    0.0955
    1.0000   52.1344    0.2500
    2.0000   52.3010    0.1400
    3.0000   52.4678    0.1951
    4.0000   52.6345    0.1535
    5.0000   52.8010    0.2683
    6.0000   52.9678    0.3251
    7.0000   53.1345    0.6712
    8.0000   53.3010    4.5603
    9.0000   53.4677   17.8081

虽然我现在可以调用该文件,但我并不清楚为何会出现这种情况。

1 个答案:

答案 0 :(得分:1)

试试这个:

 file=fopen('test.csv');
 c=textscan(file,'%f%f%f','HeaderLines',2,'CollectOutput',true, ...
     'delimiter', {',','"'},'MultipleDelimsAsOne',true);
 fclose(file);
 dat=c{1}