How do I save a cell array that has both text and numeric data?
이전 댓글 표시
I have a data set where I would like to extract alphanumeric data to a text file. E.g. here is one 1x6 cell array:
37 0 240 0.436 'cat dog mouse' 10
I would like to save this data into a text file but I cannot do that with the fprintf command since it contains alphanumeric data. How do I do this?
채택된 답변
추가 답변 (1개)
Image Analyst
2016년 11월 15일
Here's one way:
ca = {37, 0, 240, 0.436, 'cat dog mouse', 10}
fid = open(filename, 'wt'); % File on disk
% fid = 1; % Command window.
fprintf(fid, '%f, %f, %f, %f, %s, %d\n', ca{:});
close(fid);
댓글 수: 4
T Shep
2016년 11월 15일
Image Analyst
2016년 11월 15일
You need %f for numbers with fractional parts. You can use %f for integers also but %d works for integers only and %d is what I use if I know for certain the numbers are pure integers. Using %d for fractional numbers won't work - you need %f for them.
T Shep
2016년 11월 16일
Image Analyst
2016년 11월 16일
I don't know. You could always try it. I think they recommend textscan() now instead of textread(). Or you could use fgetl() to get just one line and then use textscan() or sscanf() on just that line.
You might also be able to use importdata() or readtable(). See which function lets you read it in with the least fuss.
카테고리
도움말 센터 및 File Exchange에서 Data Import and Export에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!