目前我正在尝试读取一个excel文件,有两个不同的结尾dvd和sod(来自监控与数据采集系统)我正在使用[Values]=xlsread(File_to_Open)来执行此操作我的问题是:在excel文件中,我用逗号而不是点(我使用的是德国Windows系统)写出了这些值(例如:21,1),当我将这些数据导入到matlab时,我得到的结果是37,我不知道为什么!!在使用xlsread()函数时,是否可以帮助我解决导入问题?
Example for my Excel Data is as following:
Date Hour Minute Second PlantNo Error arDevV1 arDevV2 Temp.
01.07.2013 0 0 0 1 0 0,0 0,0 20,1
01.07.2013 0 0 0 2 0 0,0 0,0 20,6
01.07.2013 0 0 0 3 0 0,0 0,0 20,4
01.07.2013 0 0 0 4 0 0,0 0,0 20,7
01.07.2013 0 0 0 5 0 0,0 0,0 20,9
01.07.2013 0 0 0 6 0 0,0 0,0 20,6
01.07.2013 0 0 0 7 0 0,0 0,0 163,2
01.07.2013 0 1 0 1 0 0,0 0,0 20,1
01.07.2013 0 1 0 2 0 0,0 0,0 20,5
01.07.2013 0 1 0 3 0 0,0 0,0 20,3
01.07.2013 0 1 0 4 0 0,0 0,0 20,7
我在matlab中得到了以下信息:
0 0 0 1 0 0 0 37
0 0 0 2 0 0 0,400000000000000 38
0 0 0 3 0 0 0 -43,6000000000000
0 0 0 4 0 0 0 37,8000000000000
0 0 0 5 0 0 0,300000000000000 39,5000000000000
0 0 0 6 246 0 0 0
0 0 1 7 0 0 0 38,8000000000000
0 1 0 1 0 0 0 37
0 1 0 2 0 0 0,400000000000000 38
0 1 0 3 0 0 0 -43,6000000000000
0 1 0 4 0 0 0 37,8000000000000
0 1 0 5 0 0 0,300000000000000 39,5000000000000
0 1 0 6 246 0 0 0
0 1 1 7 0 0 0 38,7000000000000
0 2 0 1 0 0 0 36,9000000000000
0 2 0 2 0 0 0,400000000000000 38
最佳答案
仅使用Matlab:
您可以尝试使用原始输出并将逗号替换为点将原始数据作为xlsread的第三个输出:
[num,txt,raw]=xlsread(u)还使用前面语法中的任何输入参数返回单元格数组txt中的文本字段和单元格数组raw中未处理的数据(数字和文本)如果指定了xlRange,则工作表中在包含数据的行和列之前的前导空白行和列将以原始格式返回
在我看来,在Excel中将逗号改为圆点更好目前,matlab(或xlsread)正在将数据解释为其他东西。