Excel tablolarını evrensel veri formatlarına dönüştürme
Bir Excel dosyasını CSV formatına dönüştürmek için belgeyi açın, "Dosya" → "Farklı Kaydet" seçeneğine tıklayın ve "CSV (Virgülle ayrılmış)" türünü seçin. XML elde etmek için standart kaydetme işlevi doğrudan uygun değildir: şemaya göre dışa aktarmak için "Geliştirici" eklentisini kullanmanız veya CSV olarak ön kaydetmeden sonra üçüncü taraf betikleri (Python, PowerShell) veya çevrimiçi dönüştürücüler kullanmanız gerekir.
Bu formatlar veri entegrasyonu için kritik öneme sahiptir: CSV, veritabanlarına ve analitik sistemlere hızlı içe aktarma için kullanılırken; XML, uygulamalar arasında API aracılığıyla yapılandırılmış bilgi aktarımı için kullanılır. Aşağıda güvenilir dönüştürme yöntemleri ve kaçınılması gereken tipik hatalar ele alınmaktadır.
CSV ve XML arasındaki fark nedir
Format seçimi verilerin kullanım amacına bağlıdır:
- CSV (Virgülle Ayrılmış Değerler) — değerlerin virgülle (veya noktalı virgülle) ayrıldığı basit bir metin formatıdır. Biçimlendirme, formüller ve makroları saklamaz, yalnızca "ham" verileri içerir. 1C, CRM sistemleri ve DBMS'lere yükleme için idealdir.
- XML (Genişletilebilir İşaretleme Dili) — etiketler kullanarak veri yapısını tanımlayan işaretli bir dildir. Hiyerarşik ilişkileri, meta verileri ve karmaşık nesneleri saklamaya olanak tanır. Web servisleri ve yapılandırma dosyaları için gereklidir.
Önemli: CSV olarak kaydederken tüm formüller mevcut değerleriyle değiştirilir. Hesaplama mantığını korumanız gerekiyorsa, dosyanın bir kopyasını .xlsx formatında bırakın.
Yöntem 1: Excel'de Standart Kaydetme
Ek yazılım kurulumu gerektirmeyen, tek seferlik görevler için en hızlı yöntem.
CSV'ye Aktarma
- Dosyayı Microsoft Excel'de açın.
- Dosya → Farklı Kaydet sekmesine gidin (veya
F12tuşuna basın). - "Dosya Türü" açılır listesinden seçeneklerden birini seçin:
- CSV (Virgülle ayrılmış) — çoğu sistem için standart seçenek.
- CSV UTF-8 (Virgülle ayrılmış) — dosya Linux sunucularında, web uygulamalarında işlenecekse veya Kiril alfabesi içeriyorsa bu seçeneği belirleyin. Bu, "bozuk karakterlerin" ortaya çıkmasını önler.
- CSV (Noktalı virgülle ayrılmış) — virgülün ondalık ayırıcı olarak kullanıldığı Avrupa yerel ayarları için geçerlidir.
- "Kaydet" düğmesine tıklayın. Çalışma kitabında birden fazla sayfa varsa, Excel yalnızca etkin sayfanın kaydedileceği konusunda uyaracaktır. İşlemi onaylayın.
XML'ye Aktarma
Normal menüde doğrudan "XML olarak Kaydet" düğmesi yoktur. İki yol vardır:
Seçenek A: XML Haritası Üzerinden (İleri düzey kullanıcılar için) Bu yöntem, verilerin sıkı bir şekilde yapılandırılmasını gerektirir.
- Geliştirici sekmesini etkinleştirin: Dosya → Seçenekler → Şeridi Özelleştir → "Geliştirici" kutusunu işaretleyin.
- "Geliştirici" sekmesinde Kaynak'a tıklayın ve varsa gerekli XML şemasını (.xsd) ekleyin.
- Tablo hücrelerini şema öğeleriyle eşleştirin.
- Dışa Aktar düğmesine tıklayın ve dosyayı kaydedin.
Seçenek B: Ara Dönüştürme Şema yapılandırılmamışsa, dosyayı önce CSV olarak kaydetmek ve ardından betikler veya çevrimiçi araçlar kullanarak XML'e dönüştürmek daha kolaydır (aşağıda açıklanmıştır).
Yöntem 2: Google E-Tablolar Kullanma
Yüklenmiş Excel yoksa veya bulutta hızlıca bir dosya elde edilmesi gerekiyorsa kullanışlıdır.
.xlsxdosyasını Google Drive'a yükleyin ve Google E-Tablolar'da açın.- CSV için: Dosya → İndir → Virgülle ayrılmış değerler (.csv) menüsünü izleyin.
- İnce detay: Google E-Tablolar otomatik olarak UTF-8 kodlamasını kullanır, bu da metin görüntüleme sorunlarının çoğunu çözer.
- XML için: Doğrudan dışa aktarma yoktur. Dosyayı CSV olarak indirmeniz ve ardından özel bir dönüştürücü kullanmanız önerilir.
Büyük hacimler için ipucu: Raporları düzenli olarak dışa aktarıyorsanız, Google E-Tablolar'da bir hücre aralığından otomatik olarak XML satırı oluşturan ve bunu Drive'daki bir dosyaya kaydeden bir betik (Apps Script) ayarlayın.
Yöntem 3: Power Query ile Otomasyon
Araç, modern Excel sürümlerine (2016 ve sonrası) dahildir ve tekrarlayan veri dönüşüm süreçlerini yapılandırmaya olanak tanır.
- Veri → Veri Al sekmesine gidin.
- Tabloyu Power Query düzenleyicisine yükledikten sonra verileri temizleyebilirsiniz: boş satırları silme, sütun türlerini değiştirme (örneğin, tarihleri tek bir formata getirme), birleştirilmiş hücreleri bölme.
- Verileri sayfaya geri döndürmek için Kapat ve Yükle'ye tıklayın, ardından sayfayı CSV olarak kaydedin.
- XML'e karmaşık dönüşüm mantığı için, Power Query içindeki M sorgu dilini kullanarak XML işaretlemesi içeren bir metin sütunu oluşturabilir ve bunu metin dosyası olarak dışa aktarabilirsiniz.
Yöntem 4: Programlı Dönüştürme (Python)
Yüzlerce dosyanın toplu işlenmesi veya iş akışına entegrasyon için betikler kullanmak daha iyidir. pandas kütüphanesi bunu saniyeler içinde halleder.
Excel'i CSV ve XML'e dönüştürmek için örnek kod:
import pandas as pd
# Excel dosyasını okuma
df = pd.read_excel('input.xlsx', sheet_name='Sayfa1')
# CSV'ye kaydetme (uyumluluk için BOM içermeyen UTF-8)
df.to_csv('output.csv', index=False, encoding='utf-8-sig')
# XML'ye kaydetme
df.to_xml('output.xml', index=False, root_name='Data', row_name='Row')
Bu yöntem, işletim sisteminin bölgesel ayarlarından bağımsız olarak tutarlı sonuç garanti eder.
Dönüştürme Sırasındaki Sık Yapılan Hatalar
| Hata | Neden | Nasıl Düzeltilir |
|---|---|---|
| Metin bozulması (bozuk karakterler) | Yanlış kodlama (UTF-8 yerine Windows-1251) | Excel'de kaydederken "CSV UTF-8" türünü seçin. Not defterinde kodlamayı kontrol edin. |
| Sütunların kayması | Ayırıcı uyumsuzluğu (virgül karşısında noktalı virgül) | Alıcı sistemin gereksinimlerini netleştirin. Excel'de işletim sistemi ayarlarında bölgesel ayırıcıyı değiştirebilir veya ilgili dosya türünü seçebilirsiniz. |
| Baştaki sıfırların kaybı | Sayısal formatlar (001 kodu 1'e dönüşür) | Kaydetmeden önce hücre formatını "Metin" olarak değiştirin veya değerin önüne kesme işareti ' ekleyin. |
| XML doğrulama hataları | Verilerdeki özel karakterler (&, <, >) | Özel karakterleri escape eden otomatik kütüphaneleri dışa aktarma için kullanın veya dosyayı bir doğrulayıcı üzerinden kontrol edin. |
SSS
Excel çalışma kitabındaki tüm sayfaları tek bir CSV dosyasına kaydedebilir miyim? Hayır, CSV formatı yalnızca tek bir tabloyu destekler. Çok sayfalı bir çalışma kitabını kaydederken Excel yalnızca etkin sayfayı kaydeder. Tüm sayfaları dışa aktarmak için bunları sırayla kaydetmeniz veya tüm sayfaları gezip birleştiren veya ayrı dosyalar oluşturan bir betik (örneğin Python'da) kullanmanız gerekir.
CSV'yi Excel'de açtığımda neden her şey tek bir sütunda bitişik görünüyor? Bu, dosyada bir ayırıcı (örneğin virgül) kullanıldığında, ancak Excel ayarlarınızın başka bir ayırıcı (noktalı virgül) beklediğinde gerçekleşir. Metin içe aktarma sihirbazı ("Veri" → "Metin/CSV'den") aracılığıyla ayırıcının manuel olarak belirtilmesiyle çözülür.
Çevrimiçi dönüştürücüler kullanmak güvenli midir? Halka açık veriler için evet. Dosya kişisel veriler, ticari sırlar veya finansal raporlar içeriyorsa, bilgileri başkalarının sunucularına göndermemek için yalnızca yerel yöntemler (Excel'in kendisi, kendi bilgisayarınızdaki betikler) kullanın.