Kısa cevap
CSV dosyası, her satırında bir kayıt olan düz metindir; bu yüzden bölmek, metni birkaç bin satırda bir kesmek kadar kolay görünür. İki ayrıntı bunu güvenilmez yapar: başlık satırı sadece en üstte bir kez vardır, yani ilk parçadan sonraki parçaların hiçbirinde sütun adı olmaz; tırnak içindeki bir değer de satır sonu içerebilir, yani körlemesine bir kesme tek bir kaydı ikiye ayırabilir. Düzgün bir CSV bölme aracı dosyayı kayıt kayıt okur, başlığı her parçaya kopyalar ve sadece tamamlanmış kayıtların arasından keser.
Aşağıdaki araçta CSV'yi sayfaya bırak, Bölme şekli ayarını Satır sayısı olarak bırak, dosya başına satır sayısını yaz ve birkaç saniye bekle. Her parça kendi İndir düğmesiyle listede görünür, Hepsini ZIP olarak indir ise hepsini birlikte kaydeder. Hiçbir şey yüklenmez: dosya tarayıcında okunur, bu da müşteri ve sipariş verilerini gizli tutar.
Burada dene: CSV bölme
Aracın tam sayfasını açCSV neden bölünür
Çoğu bölme işine başka bir yerdeki sınır yol açar. Online mağazaların, pazaryerlerinin, e-posta pazarlama araçlarının ve CRM'lerin içe aktarma ekranları çoğu zaman yükleme başına belli bir satır ya da megabayt sayısını kabul eder. Excel bir sayfada en fazla 1.048.576 satır gösterir ve bu sayıya varmadan çok önce yavaşlar; Google E-Tablolar'ın da tüm tablo için bir hücre sınırı var. E-posta ekleri genelde 20 ile 25 MB arasında sınırlanır.
Bazı bölme işleri ise yazılımla değil insanlarla ilgilidir: bölge müdürleri için her bölgeye bir dosya, her tedarikçiye sadece kendi ürünlerinin olduğu bir dosya ya da ekipteki herkese eşit pay düşen bir arama listesi. Bu durumlarda sabit satır sayısı yerine bir sütunun değerine göre ya da belli sayıda dosyaya bölmek gerekir.
| Durum | Bölme şekli | Tipik ayar |
|---|---|---|
| Dosya başına 10.000 satırlık içe aktarma sınırı | Satır sayısı | Dosya başına satır: 10000 |
| Excel için çok büyük dosya | Satır sayısı | Dosya başına satır: 1000000 |
| Dört iş arkadaşına eşit pay | Dosya sayısı | Dosya sayısı: 4 |
| Her şube, şehir ya da tedarikçi için bir dosya | Sütun değeri | Sütun: Şube |
| E-posta boyut sınırını aşan ek | Dosya sayısı | Sınırın altında kalacak kadar dosya |
Her parça için doğru boyutu seçmek
Platform bir satır sınırı belirtiyorsa onu doğrudan kullan ama biraz pay bırak, çünkü bazı içe aktarma ekranları başlığı da satır sayar. Sınır megabayt olarak verilmişse dosya boyutunu sınıra böl ve yukarı yuvarlayarak dosya sayısını bul, sonra her parça yaklaşık aynı boyutta olsun diye Dosya sayısı seçeneğini seç. 50 MB sınırı olan 180 MB'lık bir döküm için dört dosya gerekir.
Satır sayısı ile Dosya sayısı son parçada farklı davranır. Satır sayısı her parçayı tamamen doldurur ve kalanı son parçaya bırakır; yani dosya başına 10.000 satırla 25.500 satır, iki dolu dosya ve 5.500 satırlık bir dosya verir. Dosya sayısı ise satırları olabildiğince eşit dağıtır; aynı tablo üç dosyaya bölününce her birinde 8.500 satır olur.
Parçalar, orijinal dosyanın adını ve her parçada aynı genişlikte bir numara alır, örneğin siparisler_01.csv ile siparisler_12.csv arası. Böylece ada göre sıralandığında doğru sırada kalırlar.
Bir sütunun değerine göre bölmek
Bölme şekli altında Sütun değeri seçeneğini seç ve sütunu, dosyanın başlığından dolan listeden belirle. Araç her farklı değer için bir dosya oluşturur ve o değerin adını verir, örneğin siparisler_Ankara.csv ve siparisler_Izmir.csv. Sütunun boş olduğu satırlar adında boş geçen bir dosyada toplanır, böylece hiçbir satır kaybolmaz.
Değerler baştaki ve sondaki boşluklar atıldıktan sonra karşılaştırılır; yani Ankara ile sonunda boşluk olan Ankara aynı dosyaya düşer. Büyük ve küçük harf ise ayrı tutulur, çünkü kodlarda farklı anlamlara gelebilir. Sipariş numarası gibi 1.000'den fazla farklı değeri olan bir sütun çok fazla dosya üretir; bu yüzden araç durur ve daha az değeri olan bir sütun seçmeni ister.
Verinin bozulmaması
Dosya virgül, noktalı virgül, sekme ya da dikey çizgi kullansa da ayraç kendiliğinden bulunur; Ayraç altında başka birini seçmezsen parçalar aynı ayracı kullanır. İçinde virgül, tırnak ya da satır sonu olan tırnaklı değerler tek hücrede kalır. Değerler aynen kopyalanır; baştaki sıfırlarıyla barkodlar ve posta kodları, uzun kimlik numaraları ve tarihler değişmez.
Her CSV parçası, Excel'e çift tıklayarak açıldığında Türkçe karakterleri doğru göstermesini söyleyen bir bayt sırası işaretiyle (BOM) UTF-8 olarak kaydedilir. Orijinal dosya eski bir programla bölgesel bir Windows kodlamasında kaydedildiyse bu tanınır ve yol üzerinde UTF-8'e çevrilir. Kaydetme biçimi ayarını Excel yaparak, kalın ve sabitlenmiş başlık satırı olan, baştaki sıfırlı sütunların metin kaldığı .xlsx çalışma kitapları da alabilirsin.
Çok büyük dosyalar ve diğer yöntemler
Araç CSV dosyalarını arka planda küçük parçalar halinde okur; bu yüzden birkaç yüz bin satırlık 100 MB bir dosya normal bir dizüstü bilgisayarda saniyeler içinde bölünür ve sayfa yanıt vermeye devam eder. Sınır cihazının belleğidir: parçalar sen indirene kadar bellekte tutulur, bu yüzden birkaç gigabaytlık dosyalarda komut satırı aracı daha doğru bir seçimdir.
macOS ve Linux'ta split komutu bir dosyayı satırlara göre kesebilir, örneğin split -l 10000 veri.csv parca_. Ama başlığı tekrarlamaz ve birkaç satıra yayılan tırnaklı değerlerin ortasından keser. Excel'de satır bloklarını elle yeni çalışma kitaplarına kopyalayabilirsin; birkaç parça için olur ama yavaştır ve hata yapmak kolaydır. Power Query ya da csv modülünü kullanan kısa bir Python betiği tırnak içindeki satır sonlarını doğru işler, bunlarla rahatsan tabii.
Sık karşılaşılan sorunlar ve çözümleri
- Parçalarda tek sütun var: dosya Excel'in beklemediği bir ayraç kullanıyor. Veri sekmesinde Metinden/CSV'den ile içe aktar ya da Kaydetme biçimi ayarını Excel yap.
- Tırnak içindeki bir değerin kapanmadığı yazıyor: dosyanın bir yerinde, çoğu zaman bir ürün açıklamasında, tırnak işareti eksik. Dosyayı bir metin editöründe aç, satırı bul ve tırnağı düzelt.
- Sütun listesi boş: önce dosyayı ekle, liste dosyanın ilk satırından dolar. Dosyada başlık yoksa İlk satır başlık ayarını kapat ve sütunu numarasıyla seç.
- Çok fazla dosya: Dosya başına satır değeri küçükken büyük bir tablo binlerce dosya üretir. Daha büyük bir değer seç; araç en fazla 1.000 parçaya izin verir.