Reading an Excel File (Excelfinlename.dvd) with decimal comma instaed of decimal point?

9 次查看(过去 30 天)
Hi..., Currently i am trying to read an excel files with two different ending . dvd & .sod (From SCADA system). i am using the [Values] = xlsread(File_to_Open) to do so. my question is: In the excel file i have the values so written (Example: 21,1) with comma not point (I am using a German Windows system) and when i am importing those data to matlab i am getting something like 37, I am not sure why!! Can you help me with this problem of importing when using the xlsread() function?

采纳的回答

Aubai
Aubai 2013-8-1
it seems i had the solution all along. I took the third output of xlsread and then change it from cell to matrix using cell2mat and i got me wished output thx for the help anyway :)

更多回答(1 个)

per isakson
per isakson 2013-7-31
编辑:per isakson 2013-8-1
I don't recognize these extensions. I assume they are text.
Here are two files, which replace comma by dot. Pick one. Please, make copies of your files before you try these functions.
function fread_( strInFileSpec, strOutFileSpec )
fid = fopen( strInFileSpec, 'r' );
str = fread( fid, inf, '*char' );
fclose( fid );
str = strrep( str', '.', ',' );
fid = fopen( strOutFileSpec, 'w' );
fwrite( fid, str, 'char' );
fclose( fid );
end
function memmap_( strInFileSpec )
file = memmapfile( strInFileSpec, 'writable', true );
comma = uint8(',');
point = uint8('.');
file.Data(( file.Data==comma)' ) = point;
... delete(file)
end
  3 个评论
Aubai
Aubai 2013-8-5
Thx for the help this type of Format is generated by ENERCON SCADA system. I am actually becoming no problems using Excel to open those files. my final soluation was to use the third output of the xlsread() function which gives the opend file as Cell array (without any changes) and then re-change it to numbers for example by using cell2mat. thx again for ur help

请先登录,再进行评论。

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by