Tablo verileri için neden uygun bir dosya biçimi yok?

In: Genel


Tablo verileri her yerdedir. Yazılım uygulamamın 3’ünde de çeşitli biçimlerde tablo verilerinin okunmasını ve yazılmasını destekliyorum. benim önemli bir parçasıdır veri dönüştürme yazılımı. Ancak tüm tablo veri biçimleri berbat. Alan açısından oldukça verimli, basit ve ayrıştırması hızlı ve metin tabanlı (ikili değil) hiçbir şey yok gibi görünüyor, böylece standart bir düzenleyiciyle görüntüleyebilir ve düzenleyebilirsiniz.

Çoğu tablo verisi şu anda şu şekilde değiş tokuş ediliyor: CSV, Sekmeyle ayrılmış, XML, JSON veya Excel. Ve hepsi iş için son derece yetersiz.

CSV bir karmaşa. Yanlış yerde bir alıntı ve dosya geçersiz. Alıntı nedeniyle birden çok çekirdek kullanarak verimli bir şekilde ayrıştırmak zordur (bir dosyanın bir kısmından ayrıştırmaya başlayamazsınız). Farklı alıntı şemaları kullanılmaktadır. Hangi kodlamada olduğunu bilmiyorsunuz. Ayırıcıların ve satır sonlarının kullanımı tutarsız (bazen virgül, bazen noktalı virgül). Tüm farklı lehçeleri işlemek için bir ayrıştırıcı yazmak hiç de önemsiz değil. Microsoft Excel ve Apple Numbers, CSV için bazı uç durumların nasıl yorumlanacağı konusunda bile anlaşamıyor.

Sekmeyle ayrılmış, CSV’den biraz daha iyidir. Ancak sekmeleri depolayamıyor ve hala satır sonları, kodlamalar vb. ile ilgili sorunlar var.

XML ve JSON ağaç yapılarıdır ve tablo halindeki verileri (ve diğer sorunları) verimli bir şekilde depolamak için uygun değildir.

Parke bulunmaktadır. Sütunlu depolama ve sıkıştırma ile çok verimlidir. Ancak ikili olduğu için standart araçlarla görüntülenemez veya düzenlenemez, ki bu bir acıdır.

Beni Excel’in tescilli, korkunç ikili biçiminde kullanmaya bile başlama.

Neden bir formata sahip olamıyoruz:

  • Kodlama her zaman UTF-8’dir
  • Satır ana düzeninde saklanan değerler (satır 1, satır2 vb.)
  • Sütunlar u001F (ASCII birim ayırıcı) ile ayrılır
  • Satırlar u001E ile ayrılır (ASCII kayıt ayırıcı)
  • Er, tüm şartname bu.

Kaçmak yok. Verilerinize u001F veya u001E koymak istiyorsanız, yapamazsınız. Farklı bir biçim kullanın.

Oldukça kompakt, ayrıştırması verimli ve elle düzenlemesi kolay olurdu (Notepad++, birim ayırıcıyı ‘ABD’ sembolü olarak gösterir). Dakikalar içinde bunun için hızlı bir ayrıştırıcı yazabilirsiniz. Bazı editörlerde u001F veya u001E yazmak bir faff olabilir, ancak pek de gösterişli değil.

“unicode ile ayrılmış değer” gibi bir şey olarak adlandırılabilir (şapka ucu @fakeunicode ad için Twitter’da) veya .usv dosya uzantısıyla “birime ayrılmış değer”. Belki değerler sütun ana sırasına göre (sütun1, sütun 2 vb.) depolandığında farklı bir uzantı kullanılabilir.

Zaten böyle bir şey yok mu? Belki vardır ve ben duymadım. Değilse, olması gerekmez mi?

Ve evet, ilgili XKCD karikatürünün farkındayım ( https://xkcd.com/927/ ).

** 4 Mayıs-2022’yi düzenle **

5. paragrafta “Javascript” -> “JSON”.

Yukarıda işaret edildiği gibi, bir editörde size insan tarafından okunabilirlik için harika olmayan tek bir metin satırı verecektir. Bunun için hızlı bir düzeltme, kayıt sınırlayıcıyı bir u001E karakteri ve ardından bir LF karakteri yapmak olabilir. Bir u001E’den hemen sonra gelen herhangi bir LF, ayrıştırma sırasında yok sayılır. Bir u001E’den hemen sonra gelmeyen herhangi bir LF, verilerin bir parçasıdır. Diğer düzenleyicileri bilmiyorum, ancak Notepad++’da görüntülenmesi ve düzenlenmesi kolaydır.



Bir cevap yazın

Ready to Grow Your Business?

We Serve our Clients’ Best Interests with the Best Marketing Solutions. Find out More

How Can We Help You?

Need to bounce off ideas for an upcoming project or digital campaign? Looking to transform your business with the implementation of full potential digital marketing?

For any career inquiries, please visit our careers page here.
[contact-form-7 404 "Bulunamadı"]