Bir CSV dosyası açıp gzip veya ZIP seçin; sıkıştırılmış dosya hazır olur olmaz iner: orders.csv, orders.csv.gz veya orders.zip olur. Ters yönde ise bir .gz veya .zip dosyası açıp içindeki dosyaları geri çıkarın. Baytlar ayrıştırılmaz veya değiştirilmez; bu yüzden kodlama, ayırıcı, tırnaklar, satır sonları ve varsa BOM işareti tam olarak eskisi gibi geri gelir. Sıkıştırma tarayıcınızda çalışır; dosya hiçbir zaman yüklenmez.
CSV nasıl sıkıştırılır veya geri açılır?
- Bir dosya açın veya sürükleyip bırakın. Adı
.gzya da.zipile biten bir dosya aracı geri açma moduna geçirir; diğer her şey sıkıştırılır. - Gzip veya ZIP ile 1 ile 9 arasında bir sıkıştırma düzeyi seçin. Varsayılan 6, boyut ile süre arasındaki olağan dengedir.
- İşi başlatın. Sonuç iner; araç önceki ve sonraki boyutu ve aralarındaki oranı gösterir.
Gzip mi, ZIP mi?
Gzip (.csv.gz) | RFC 1952 ile tanımlanan tek bir sıkıştırılmış dosya. Komut satırı araçları, veri ambarları ve birçok içeri aktarma hattı .csv.gz dosyasını doğrudan okur. Özgün dosya adı dosyanın içinde saklanır. |
|---|---|
ZIP (.zip) | Özgün dosya adıyla tek bir girdi içeren bir arşiv. Windows ve macOS’ta çift tıklamayla açılır; bu yüzden e-posta ekleri ve komut satırı aracı kullanmayan kişiler için uygundur. |
| Sıkıştırma düzeyi | 1 en az süreyi alır, 9 ise daha küçük bir dosya için en çok çabayı harcar. Tipik bir CSV’de 6 ile 9 arasındaki fark küçüktür; küçük bir dosyada hiç fark olmayabilir. |
| Geri açma | Bir .gz dosyası içindeki tek dosyayı geri verir. Bir .zip içerdiği her dosyayı geri verir; klasörler atlanır ve klasör yolları adlardan çıkarılır. Tek bir dosya hemen iner; birden çok dosya, her birinin yanında bir indirme düğmesiyle listelenir. |
Aynı dosyayı aynı düzeyde sıkıştırmak her seferinde aynı baytları verir; çünkü gzip başlığına ve ZIP girdilerine yazılan zaman damgaları o anki saat değil, sabit bir değerdir. Bu sayede çıktının sağlama toplamı alınabilir veya sürüm denetiminde güvenle saklanabilir.
Birebir korunanlar
- Dosya bir tablo olarak değil, bayt dizisi olarak ele alınır; bu yüzden hiçbir şey yeniden kodlanmaz: Windows-1254, Windows-1252 veya Shift_JIS kodlu bir dışa aktarım, noktalı virgül ayırıcı, CRLF satır sonları ve UTF-8 BOM işareti olduğu gibi geri gelir. Hiçbir değer okunmadığı için baştaki sıfırlar ve uzun kimlikler de el değmeden kalır.
- Tırnak içindeki satır sonları ve yersiz tırnaklar sıkıştırmayı etkilemez; hatalı bir CSV bile olduğu gibi sıkıştırılır ve geri açılır. Dosyanın kendisini denetlemek için CSV doğrula aracını kullanın.
- Gzip, RFC 1952’nin gerektirdiği gibi adı Latin-1 ile saklar; bu yüzden ş, ğ, ı, İ gibi Türkçe harfler ya da Çince veya Kiril alfabesi içeren bir dosya adı bozulmadan geri gelmeyebilir. Böyle adlar için ZIP kullanın ya da dosyayı geri açtıktan sonra yeniden adlandırın.
- Bir ZIP farklı klasörlerde aynı adlı iki dosya içeriyorsa ikisi de o adla geri açılır. İndirirken bunları yeniden adlandırın.
Sorun giderme
- Bu bir gzip veya ZIP dosyası değil. Dosyanın ilk baytları bir gzip veya ZIP imzası değil; adı
.gzolan düz bir CSV ya da 7z veya RAR gibi başka bir arşiv türü olabilir. Bunun yerine dosyayı sıkıştırmak için gzip veya ZIP moduna geçin. - Gzip verisi hasarlı veya eksik. Dosyanın sonunda saklanan sağlama toplamı veya uzunluk eşleşmiyor; bu genellikle indirmenin yarıda kesildiği anlamına gelir. Dosyayı yeniden indirin.
- ZIP verisi hasarlı ya da desteklenmeyen bir yöntem kullanıyor. Yalnızca sıkıştırılmadan saklanmış (stored) ve Deflate girdileri geri açılabilir; Deflate64, BZIP2 veya LZMA gibi yöntemler desteklenmez. Parola korumalı ZIP dosyaları da desteklenmez: bunları parolayı soran bir arşiv aracıyla çıkarın.
- Sıkıştırılmış dosya neredeyse hiç küçülmüyor. Rastgele kimlikler veya özet (hash) değerleri gibi çok sayıda farklı değer içeren CSV, tekrarlı veriden daha az sıkışır; çok küçük dosyalar ise biçimin eklediği sabit başlık nedeniyle az kazanç sağlar. Türleri belli, sütunlu veriler Parquet’e dönüştürülerek daha da küçültülebilir.
Büyük dosyalar ve gizlilik
Burada 25 MB sınırı yoktur; çünkü dosya hiçbir zaman tablo olarak yüklenmez: 4 MB’lık parçalar hâlinde okunur ve akış olarak sıkıştırılır veya geri açılır. Geri açılan verinin toplamı 4 GB’ı geçecek olursa geri açma bir hatayla durur; bu, sekmeyi devasa boyutlara açılan “zip bombalarına” karşı korur.
İşlem bu sekmede arka plandaki bir işçide çalışır ve İptal onu durdurur. Hiçbir şey yüklenmez. Büyük bir dosyayı bunun yerine parçalara ayırarak küçültmek için parçaları tek bir ZIP olarak da indirebilen CSV böl aracını kullanın.
Örnek
Noktalı virgüller, ondalık virgüller ve başında sıfır olan SKU’lar içeren 12 satırlık bir sipariş dışa aktarımı (ilk satırlar gösterilmiştir), toplam 374 bayt. Dosya çok küçük olduğu için gzip 1, 6 ve 9 düzeylerinde aynı 185 baytı verir; ZIP daha büyük bir arşiv başlığı ekler. İki dosyadan birini geri açmak 374 baytın tamamını değişmeden geri verir.
order_id;region;sku;qty;amount SO-1001;North;00123;1;19,90 SO-1002;South;00124;2;38,90 SO-1003;East;00125;3;57,90 SO-1004;West;00123;4;76,90 …
orders-march.csv.gz 185 bytes (49.5 %), restores to orders-march.csv orders-march.zip 296 bytes (79.1 %), one entry: orders-march.csv Restored orders-march.csv 374 bytes, identical to the original
Sık sorulan sorular
Birkaç CSV dosyasını tek bir ZIP’te sıkıştırabilir miyim?
Bu sayfada hayır: burada her seferinde tek bir dosya sıkıştırılır. CSV böl tüm parçalarını tek bir ZIP olarak indirir; burada bir ZIP’i geri açmak ise içindeki her dosyayı geri verir.
.csv.gz dosyası hâlâ bir CSV mi?
Gzip ile sıkıştırılmış bir CSV’dir. gunzip, çoğu veritabanının içeri aktarma komutları ve veri kütüphaneleri gibi gzip destekleyen araçlar onu doğrudan okur; diğerleri önce .csv olarak geri açılmasını ister, bu sayfa da tam olarak bunu yapar.
Sıkıştırma verilerimi değiştirir mi?
Hayır. Gzip ve ZIP sıkıştırması kayıpsızdır ve bu araç CSV’yi hiçbir zaman ayrıştırmaz; bu yüzden geri açılan dosya özgün dosyayla aynı bayt dizisidir.