Elimde bir dosya içinde bulunan csv dosyaları import etmek istiyorum.Tek tek ediyorum ilk2 sütünn cell array diğer sütünlar numeric matrix olarak ama dosyalar cok fazla oldugu için bunları hepsini eden fonksiyon lazım
Merhaba, konuya tam olarak hakim olmadığım için sadece sorunuza yönelik bir kaç araştırma yaptım. Onların linklerini aşağıda belirtiyorum. İnceleyin daha sonra çözüme ulaşamaz iseniz birlikte bir daha çözüm için uğraşalım. Şuan için sınavlarım olduğu için kodu net olarak ortaya dökemedim.
1)csvread
2)How do I import CSV files using csvread?
3)How to read a .csv file with text and numbers?
Bunları inceleyin daha sonra tekrar sorunuz olursa birlikte bakalım.
Öncelikle cevap verdiğiniz için teşekkür ederim linklerde 1, cok genel anlatıyor 2,cınde cevap bulamamıs 3, benım ıstedıgım olabılır ama ben matlabı ilk defa kullanmaya basladım.için ne nedir bilmiyorum.Fonksiyon yazmaya calsıtım ama olmadı biraz örnek kısıtlı.Proje ödevimin takıldıgım noktalardan bir yerdi o yüzden biraz zamanım ksıtlı
Siz yapmış olduğunuz çalışmanın kodunu buraya belirtirseniz ve hata aldığınız kısmı yazarsanız o şekilde bir daha bakabiliriz. En azından benden daha iyi bilenler gördüğü zaman doğru cevaba daha hızlı ulaşırız
csvfolder='C:\Users\TOSHIBA\Desktop\Proje\Son Hali\Musıc\csv\'; cvsfiles=dir([csvfolder '*.csv']); params=[1 1 0 0]; Nf=numel(cvsfiles); LLDdim=12;% size(lld,2); all_funs=zeros(Nf,LLDdim*sum(params)); filenames=cell(Nf,1); for i=1:Nf filename=strcat(csvfolder,cvsfiles(i).name); lld=importlld(filename); filenames{i}=cvsfiles(i).name; all_funs(i,:) = lld2fun(lld,params); end %% M=dlmread('music_emo_fun.csv',';',1,1); targets=M(:,end-3:end); IS10feats=M(:,1:end-4); %% trainind=1:3095; testid=3096:5112; X_tr=IS10feats(trainind,:); Y_tr=targets(trainind,1); X_test=IS10feats(testid,:); Y_test=targets(testid,1); % std filter: 0 std olanları temizle std_filter=std(X_tr)>eps; X_tr=X_tr(:,std_filter); X_test=X_test(:,std_filter); % z-normalization [X_tr,mx,stdx]=autosc(X_tr); [X_test]=scal(X_test,mx,stdx); filenames_test=annotationscls(testid,1); filenames_orig=filenames_test; for i=1:numel(filenames_test) filenames_orig{i,1}=filenames_test{i}(1:end-6); end %% kernel_type=1;%1 Linear, 2=RBF C_set=10.^[-5:0]; perf=zeros(numel(C_set),1); for k=1:numel(C_set) C=C_set(k); [predict_label,accuracy,dec_values] = ... oneVrestSVM(X_tr,Y_tr,X_test,Y_test,C,1); perf(i)=accuracy; end %% %% Şarkı bazlı karar birleştirme songlist=unique(filenames_orig); Ns=numel(songlist); song_labels=zeros(Ns,1); scores=zeros(Ns,2); for i=1:Ns filter=strcmp(songlist{i},filenames_orig); scores(i,:)=mean(dec_values(filter,:)); song_labels(i)=mode(Y_tr(filter)); end [~,fused_label]=max(scores,[],2); accuracy=sum(fused_label==song_labels)/numel(song_labels);
Hocam bana verdıgı .m dosyası bu ilk önce elle import ediyordu oluyordu.sonra benım dosyamın boyutu büyük olduğu için csv dosyasını bölerek her şarkı için ayrı csv dosyası olsun dedi onu yaptım ama bu sefer bu dosyaları topluca import oluyor.olması lazım hocam onun içinde birseyler ekledı ama ben kendimde çalısmıyor.
- Hocada çalışan kodun aynısı sizde mi çalışmıyor?
- Bir sürü CSV dosyasını otomatik olarak tek tek mi import etmek istiyorsunuz? (Yani bu dosyalardan veri alacaksınız?)
- Bu CSV dosyalarındaki sadece nümerik değerleri mi almak istiyorsunuz?
- Bu bir sürü olan dosyaların isimleri neler?
- C:\Users\TOSHIBA\Desktop\Proje\Son Hali\Musıc\csv\ bu dosya konumu sizin bilgisayarınızdaki bir konum mu?
Öncelikle teşşekürler sorunu çözdüm dizin hatası yapmısım.Fonksiyon ve kod farklı yerdemıs ben aynı yerde sanmısıtm.