Merhaba, matlab excelden veri okuma işlemini anlatacağım yeni yazımıza başlıyoruz.

Bu yazımda sizlere, matlab excelden veri okuma yöntemini ayrıntılı bir şekilde yazacağım. Matlab ile Excel dosyası okuma ( matlab import data from excel ) ile ilgili fonksiyonumuz olan xlsread fonksiyonumuzun özelliklerini açıklamalı ve örnekli olarak inceleyeceğiz.

Bu yazı 06/02/2016 tarihinde güncellenmiştir.

Editörün Önerisi: Katsayılar Matrisi

Hiç vakit kaybetmeden işe başlayalım.

Matlab Excelden Veri Okuma

Öncelikle excelden veri okuma fonksiyonumuzun söz dizimi yani syntax’ına bakalım.

Syntax ( Söz Dizimi )
num = xlsread(filename)
num = xlsread(filename,sheet)
num = xlsread(filename,xlRange)
num = xlsread(filename,sheet,xlRange)
num = xlsread(filename,sheet,xlRange,'basic')
[num,txt,raw] = xlsread(___)
___ = xlsread(filename,-1)
[num,txt,raw,custom] = xlsread(filename,sheet,xlRange,'',processFcn)

Şimdi satır satır bu kullanımların ne işe yaradığından bahsedelim.

 1.  Satır:   filename, yani okunacak olan excel dosyasının adını(yolunu) girmelisiniz. Eğer .m file ile excel dosyanız aynı klasörde bulunuyorsa yalnızca ismini girmeniz yeterli olacaktır.

 2.  Satır:   sheet, özel olarak bir çalışma kitabının içerisinde ki bölümleri ifade eder. Sayfa1 (0) Sayfa2 (1) için parantez içerisinde geçerli numaraları verilmiştir. Örnek görsel aşağıdadır.

excel-sheet-1

 

 

 3.  Satır:   xlRange, bir bölgeyi belirlemek için kullandığımız parametredir. Mesela A sütununun ilk 3 satırını almak istediğimizde (A1:A3) yazmamış gerekiyor. Tüm sütün için (A:A) gibi bir yazım kullanıyoruz.

 5.  Satır:   ‘basic’, eğer bilgisayarınızda excel yoksa bu parametre sayesinde basit bir şekilde tüm veriyi alabilirsiniz.

 6.  Satır:   Excel içerisinde bulunan verilerin num ( number-sayı) txt (text – metin) gibi ayrılarak ayrı ayrı dizilere atandığı yazım şeklidir.

 7.  Satır:   ___ = xlsread (filename, -1)  kullanımı sizin için güzel bir seçenek olabilir. Eğer bilgisayarınızda windows işletim sistemi ve excel programı kurulu ise bu seçenek ile interaktif olarak okuyacağınız veriyi seçebilirsiniz. Bilgisayarınız excel programını başlatacak ve sizden okumak istediğiniz bölgeyi seçmenizi isteyecektir.

 8.  Satır:   Tüm parametreleri açıkladığımız için bu satırı açıklamış olduk.

Örnekler

degerler = {1, 2, 3 ; 4, 5, 'x' ; 7, 8, 9};
baslik = {'Sutun1','Sutun2','Sutun3'};
xlswrite('ornek.xlsx',[baslik; deger]);
   Sutun1     Sutun2    Sutun3
       1         2        3
       4         5        x    
       7         8        9

Şimdi oluşturduğumuz ‘ornek.xlsx’ isimli excel dosyasından veri okuma işlemini yapalım.

filename = 'ornek.xlsx';
A = xlsread(filename)

% Burada filename bir değişkendir ve istediğiniz ismi kullanabilirsiniz.
% Bu kod ile elde edilecek matris aşağıdaki gibi olacaktır.

A =
     1     2     3
     4     5   NaN
     7     8     9
Sınırlı bir bölgeden veri okuyalım
filename = 'ornek.xlsx';
sheet = 1;
xlRange = 'B2:C3';

subsetA = xlsread(filename,sheet,xlRange)
subsetA =
     2     3
     5   NaN

Tek bir sutunun tüm verilerini okuyalım

filename = 'ornek.xlsx';

columnB = xlsread(filename,'B:B')
columnB =
     2
     5
     8

‘B1:B3’ gibi bir aralık belirlerseniz eğer performans açısından daha iyi sonuçlar alırsınız.

Eğer sayı, metin ve raw verilerini ayırmak isterseniz.

[num,txt,raw] = xlsread('ornek.xlsx')
num =
     1     2     3
     4     5   NaN
     7     8     9

txt = 
    'First'    'Second'    'Third'
    ''         ''          ''     
    ''         ''          'x'    

raw = 
    'First'    'Second'    'Third'
    [    1]    [     2]    [    3]
    [    4]    [     5]    'x'    
    [    7]    [     8]    [    9]

Gördüğünüz gibi xlsread fonksiyonunun kullanımları bu şekilde. Şimdi gelelim özel örneğimize.  Bu örnekte sizlere dosyanızı seçmeniz için bir arayüz açılacak ve dosya(excel) seçimini yaptıktan sonra verilerinizi alacaksınız.

[tdosyaAdi,PathName] = uigetfile({'*.xls;*.xlsx;'},'Dosya Seçiniz');
dosyaAdi=[PathName tdosyaAdi];

%Veriler okunuyor.
veriOku=xlsread(dosyaAdi,1,'A:A');

%Örneği kendinize göre düzenleyebilirsiniz.

Bu makalem burada bitiyor. Umarım faydalı olmuştur. Eğer faydalı bulduysanız bunu söylemekten çekinmeyin. 🙂 Paylaşmak ve yorum yapmak gibi aktiviteler beni yeni paylaşımlar yapmak adına tetikleyecektir. Okuduğunuz için teşekkür ederim.

8
Kimler Neler Demiş?

avatar
4 Yorum konuları
4 Konu cevapları
3 Takipçiler
 
En Çok Etkileşim Alan Yorumlar
En Popüler Yorumlar
5 Yorum Yazarları
faruk özdemirOğuzhan Paçacıselin akkızBurak Can KARAbaha Son Yorum Yazarları

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  Abone Ol  
En Yeniler Eskiler Beğenilenler
Bildirim Al
faruk özdemir
Ziyaretçi
faruk özdemir

hocam merhabalar elimde 92709 satırlık excel bilgileri var bu bilgiler atıyorum 40 42 şer şekilde grup halinde.Yani aynı rakama sahip olan satırlar bi grubun verisi. Zaten sıralı bir şekildeler ben her grubu excelden matlabde mat file olarak elde etmek istiyorum ama tek tek raw sayılarını yazmamın imkanı yok nasıl yapabilirim acaba? (aklıma gelen şu ilk satırdan başla bu satır değişene kadar olan aralığıo belirle ve kaydet sonra bu verileri yazdır mat file yap ama bu döngüyü nasıl yapabilirim)

Oğuzhan Paçacı
Ziyaretçi
Oğuzhan Paçacı

6 kolonlu bir veri grubum var fakat sadece 5 kolonunu alıyor 🙁

selin akkız
Ziyaretçi
selin akkız

Merhaba,
Excelden Matlab’a almak istediğim verilerin içinde – işareti olan sayı dizileri var ve Matlab bu sayıları görmüyor NaN olarak aktarıyor. Yardımcı olabilirseniz çok sevinirim.

baha
Ziyaretçi
baha

uzakliklar=xlsread(‘ilmesafe.xls’)

Error using xlsread (line 251)
File could not be read by biffparse. Invalid record ID.
hatası alıyorum:( çözümünü bilen?
macbook excel sürüm15.21 matlab sürüm R2015b