reading undelimited comma numbers
3 次查看(过去 30 天)
显示 更早的评论
Apologise if this is an already resolved issue but I just cannot find the solution The lab. equipment spits out a .cti file which I try convert to .xlsx format I say try because I am unable to separate the comma delimited number so the rows looks like this:
-20.925926,119.3976
Any suggestion for an approach to read in the number, I have tried using
num = xlsread(filename,sheet,xlRange)
num = xlsread(filename,sheet,xlRange,'basic')
none worked - num returns as an empty array
I am thinking I should try to read in as a string extract the number as a string and convert to numerics
Thanks, Philip
2 个评论
Image Analyst
2014-11-5
Why do you say "undelimited" in the subject line? That row is delimited. What does "undelimited" mean to you?
per isakson
2014-11-5
编辑:per isakson
2014-11-5
Can you upload a sample file (paper-clip-button)? I understand that cti-file is a text file, but that's about all. Matlab Interface User’s Guide doesn't help.
采纳的回答
per isakson
2014-11-5
Here is a file, which I think will extract the numerical data from your file. I tested with some data I found on the net.
Try
>> [ var_list, num ] = CITIFILE()
var_list =
1.0e+09 *
1.0000
2.0000
2.5000
3.0000
num =
[4x2 double] [4x2 double] [4x2 double]
where
function [ var_list, num ] = CITIFILE()
str = fileread( 'CITIFILE.txt' );
cac = regexp( str, '(?<=VAR_LIST_BEGIN).+?(?=VAR_LIST_END)', 'match' );
var_list = str2num( cac{1} );
cac = regexp( str, '(?<=\sBEGIN).+?(?=\sEND)', 'match' );
num = cell( 1, length(cac) );
for jj = 1 : length(cac)
str = strrep( cac{jj}, '"', '' );
num{jj} = str2num( str );
end
end
and   CITIFILE.txt   is copied from Agilent 8510 3-Term Frequency List Cal Set File and attached
更多回答(1 个)
Kelly Kearney
2014-11-5
Trying to convert to an Excel format seems unnecessary and complicated... if you're planning to work with this data in Matlab only, I'd suggest skipping that step.
Can you show a few snippets of your file? In plain text. Are the comma-delimited portions of the file all one line, or are there a certain number of columns per row? Are all the data points in quoted pairs, or is that unique to line 16016?
2 个评论
Kelly Kearney
2014-11-5
Okay, first off, this isn't a comma-delimited file... it's a text file with a few comma-delimited sections. So you're going to have to read it as such, parsing each section appropriately. A quick google search of the CITIFILE format suggests that the data portions of the file will be indicated by BEGIN and END keywords; is that the case in your file?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!