我在matlab中使用以下方式构建了以下字符串数组:
labels=textread(nome_tecnicas_base, '%s');
for i=1:size(labels)
temp_vector=cell(1,10);
[temp_vector{1:10}]=deal(labels{i});
final_vector=horzcat(final_vector,temp_vector);
end
我想保存此向量,每个字符串值用逗号(例如,csv文件)分隔在文本文件中。我试过几种方式,但是当我尝试用它读取时,例如,textread函数我有以下错误:
a=textread('labels-cpen-R.txt')
Error using dataread
Trouble reading number from file (row 1, field 1) ==> dct,dct,dct,dct,dct,dct,dct,dct,dct,dct,hierar
这就是我保存文件的方式
DCT,DCT,DCT变换,DCT变换,DCT变换,DCT变换,DCT变换,DCT变换,DCT变换,DCT变换,教主-过筛,教主-过筛,教主-过筛,教主-过筛,教主-过筛,教主-过筛,教主-SIFT ,层次筛选,层次筛选,层次结构 过筛,泽尼克,泽尼克,泽尼克,泽尼克,泽尼克,泽尼克,泽尼克,泽尼克,泽尼克,泽尼克,zernike2,zernike2,zernike2,zernike2,zernike2,zernike2,zernike2,zernike2,zernike2,zernike2,KPCA,KPCA,KPCA,KPCA, KPCA,KPCA,KPCA,KPCA,KPCA,KPCA,过筛,过筛,过筛,过筛,过筛,过筛,过筛,过筛,过筛,过筛,冲浪,冲浪,冲浪,冲浪,冲浪,冲浪,冲浪,冲浪,冲浪,冲浪,bayesianfusion0,bayesianfusion0,bayesianfusion0,bayesianfusion0,bayesianfusion0,bayesianfusion0,bayesianfusion0,bayesianfusion0,bayesianfusion0,bayesianfusion0,BKS-融合,BKS-融合,BKS-融合,BKS-融合,BKS-融合,BKS-融合,BKS-融合BKS-融合,BKS-融合,BKS-融合,fusionvoting4,fusionvoting4,fusionvoting4,fusionvoting4,fusionvoting4,fusionvoting4,fusionvoting4,fusionvoting4,fusionvoting4,fusionvoting4,fusionvoting6,fusionvoting6,fusionvoting6,fusionvoting6,fusionvoting6,fusionvoting6,fusionvoting6,fusionvoting6,fusionvoting6, fusionvoting6,multiscale_voting,multiscale_voting,multiscale_voting,multiscale_voting,multiscale_voting,multiscale_voting,multiscale_voting ,multiscale_voting,multiscale_voting,multiscale_voting,bks_rf_lvt,bks_rf_lvt,bks_rf_lvt,bks_rf_lvt,bks_rf_lvt,bks_rf_lvt,bks_rf_lvt,bks_rf_lvt,bks_rf_lvt,bks_rf_lvt,bks_svr_lvt,bks_svr_lvt,bks_svr_lvt,bks_svr_lvt,bks_svr_lvt,bks_svr_lvt,bks_svr_lvt,bks_svr_lvt,bks_svr_lvt,bks_svr_lvt,bks_svr_otsu,bks_svr_otsu ,bks_svr_otsu,bks_svr_otsu,bks_svr_otsu,bks_svr_otsu,bks_svr_otsu,bks_svr_otsu,bks_svr_otsu,bks_svr_otsu,multiscale_bks_rf_lvt,multiscale_bks_rf_lvt,multiscale_bks_rf_lvt,multiscale_bks_rf_lvt,multiscale_bks_rf_lvt,multiscale_bks_rf_lvt,multiscale_bks_rf_lvt,multiscale_bks_rf_lvt,multiscale_bks_rf_lvt,multiscale_bks_rf_lvt,multiscale_bks_svr_lvt,multiscale_bks_svr_lvt,multiscale_bks_svr_lvt,multiscale_bks_svr_lvt,multiscale_bks_svr_lvt,multiscale_bks_svr_lvt,multiscale_bks_svr_lvt ,multiscale_bks_svr_lvt,multiscale_bks_svr_lvt,multiscale_bks_svr_lvt
如何保存此向量以及如何正确读取此文件?
答案 0 :(得分:1)
尝试使用textscan进行阅读,使用fprintf进行编写
来自matlab文档:
fileID = fopen('data.csv');
C = textscan(fileID,'%f %f %f %f %u8 %f',...
'Delimiter',',','EmptyValue',-Inf);
所以在你的情况下:
textscan(fileID,'%s', 'Delimiter', ',')
编辑:要将数据写入文件,可以使用带有文件标识符的fprintf:
fileID= fopen('data.csv', 'w') ;
fprintf(fileID, '%s,', data{1,1:end-1}) ;
fprintf(fileID, '%s\n', data{1,end}) ;
fclose(fileID)