dlmread with ^ as delimiter
显示 更早的评论
Hi, Attached a text file where the ^ delimiter works well to import it to excel. The automatic import tab in matlab is failing to import it . I tried also the dlmread function using '^' as a delimiter but it didn't work. Any help is appreciated
4 个评论
Azzi Abdelmalek
2015-6-28
No file attached
Jan
2015-6-28
Please post the used code. We cannot guess, if it contains a typo. And explain "didn't work" with details: Do you get an error message or do the results differ from your expectations?
wesso Dadoyan
2015-6-28
wesso Dadoyan
2015-6-28
编辑:dpb
2015-6-28
回答(2 个)
"Trouble reading number from file (row 1u, field 1u) ==>rssd9999^rssd9001^BHCK0081^BHCK0395^..."
>> help dlmread
dlmread Read ASCII delimited file.
RESULT = dlmread(FILENAME) reads numeric data from the ASCII
delimited file FILENAME. The delimiter is inferred from the formatting
of the file.
...
All data in the input file must be numeric. dlmread does not operate
on files containing nonnumeric data, even if the specified rows and
columns for the read contain numeric data only.
You can't read the file with dlmread per the doc above; it must be numeric data only. Use textscan
ADDENDUM
OK, w/ more info on the file that that's a header line, if you have recent release of Matlab, try readtable instead. It should figure out the number of elements/record automagically.
3 个评论
wesso Dadoyan
2015-6-28
Walter Roberson
2015-6-28
The column headers are stored in the file, right? dlmread() cannot handle text anywhere in the file.
dpb
2015-6-28
That IS nonumeric data in the file; reread the help...
Jan
2015-6-28
DataStr = fileread('bhcf0003.txt');
DataCell = regexp(DataStr, '\^', 'split');
Now you have a cell string: {'rssd9999', 'rssd9001', 'BHCK0081', ...}
类别
在 帮助中心 和 File Exchange 中查找有关 Text Files 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!