İçeriğe geç
Convertube

CSV dosyaları: türü, kodlaması ve komitesi olmayan biçim

CSV aslında nedir, aynı dosya iki elektronik tabloda neden farklı açılır ve tırnak kuralları ne der. CSV dosyalarını tarayıcınızda dönüştürün, yükleme yok.

Bir bakışta

Tür
Belgeler
Uzantılar
.csv
MIME türü
text/csv

Bir .csv dosyası bir metin dosyasıdır. Başlık bilgisi yoktur, sürüm yoktur, tür bilgisi yoktur ve ikili hiçbir şey yoktur — Not Defteri’nde açtığınızda her baytını görürsünüz. Her satır bir satırdır ve alanları bir şey ayırır. Biçimin tamamı budur; her şeyin CSV yazabilmesinin ve hiçbir iki programın CSV’nin ne anlama geldiği konusunda anlaşamamasının nedeni de budur.

Devamını oku

Biçim yirmi beş yıl boyunca bir belirtim olmadan yaşadı. RFC 4180 2005’te geldi ve açıkça bir standart değil, Informational (bilgilendirici) niteliktedir — kimseye ne yapması gerektiğini söylemek yerine çoğu uygulamanın ne yaptığını tarif eder. Kesin olarak belirlediği şey ise tırnaklamadır: ayırıcı, tırnak ya da satır sonu içeren bir alan çift tırnak içine alınır ve böyle bir alanın içindeki tırnak iki kez yazılır. "Widget, large" ifadesinin tek bir hücre mi yoksa iki hücre mi olacağını belirleyen bu kuraldır ve saf ayrıştırıcıların atladığı kural da budur.

Ayırıcı her zaman virgül değildir. Ondalıkları 1,5 biçiminde yazan bir yerel ayarda çalışan bir elektronik tablo, virgülü aynı zamanda alanları ayırmak için kullanamaz; bu yüzden Excel orada noktalı virgülle dışa aktarır — aynı makinede, aynı menüden, komşu ülkenin açamadığı bir dosya üreterek. Veritabanı dışa aktarımları çoğu zaman sekme kullanır. CSV’yi iyi okuyan her araç ayırıcıyı ilk birkaç satırdan tahmin eder; bu site de böyle yapar.

Bir kodlama bildirimi de yoktur ve verinin gerçekten kaybolduğu yer burasıdır. Bir programın kaydettiği ve bir başkasının açtığı Çince adlardan oluşan bir CSV, biri UTF-8, diğeri sistem kod sayfasını varsaydığı için bozuk karakterlerle (mojibake) geri gelir. Ayrıca her alan türü olmayan bir metin olduğundan elektronik tablo içe aktarırken yeniden tahmin yürütür: parça numaralarının baştaki sıfırları kaybolur, uzun tanımlayıcılar bilimsel gösterime dönüşür ve tarihe benzeyen her şey tarih olur. Dosyada sorun yoktu; sorun onun okunuşundaydı.

CSV dosyalarını diğer formatlara dönüştürün

CSV SSS

CSV yalnızca bir metin dosyası mıdır?

Evet, tamamen. Kapsayıcı yok, sıkıştırma yok, ikili hiçbir şey yok. Her metin düzenleyicisi onu açar ve gördüğünüz, tuttuğu şeyin ta kendisidir.

CSV’m neden noktalı virgül kullanıyor?

Çünkü virgülün ondalık ayırıcı olduğu bir yerel ayarda dışa aktarıldı ve virgül aynı zamanda alanları ayıramazdı. Bu yine de bir CSV’dir ve kullanmaya değer her okuyucu, ayırıcıyı varsaymak yerine algılar.

Baştaki sıfırlarım neden kayboldu?

Çünkü CSV tür saklamaz ve elektronik tablo tahmin yürüttü. "007" bir sayıya benzer, bu yüzden 7 oldu. Dosyada bir sorun yoktu — kararı içe aktarma verdi. Çoğu elektronik tablo, içe aktarma sırasında bir sütunu metin olarak ayarlamanıza izin verir; tek güvenilir çözüm de budur.

Çince metnim neden bozuk görünüyor?

Çünkü dosya kodlaması hakkında hiçbir bilgi taşımaz ve onu açan program, yazan programdan farklı bir tahminde bulundu. Bayt sırası işaretiyle (BOM) UTF-8 olarak kaydetmek, Excel’in onu doğru okumasını sağlar; bunun bedeli, bazı başka araçların başıboş karakterler olarak gösterdiği bir işarettir.

Burada bir CSV’yi PDF’ye dönüştürebilir miyim?

Evet. Dosya virgüllerden bölünmek yerine CSV olarak ayrıştırılır, bu yüzden tırnaklı alanlar korunur; sütunlar içeriklerine göre boyutlandırılır ve başlık satırı kalın yazılır. Elde ettiğiniz şey okumak ve yazdırmak içindir — bir PDF’deki hiçbir şey sıralanamaz ya da toplanamaz.

Peki Excel’e dönüştürmek?

Gerek yok: her elektronik tablo uygulaması bir CSV’yi doğrudan açar ve önce dönüştürmek yalnızca türlerin tahmin edildiği bir adım ekler. Burada var olan dönüştürme ters yöndedir — hiç tablo kaydetmemiş bir sayfadan tablo kuran PDF’den Excel’e dönüştürme.