Etkileşimli konsol tabanlı CSV düzenleyici


12

Konsoldaki CSV dosyalarını düzenlemek için kullanılan elektronik tablo uygulamaları, kişisel bilgisayarlar için en eski katil uygulamalardan biri olsa da, bunlardan yalnızca birkaçı ve hatta daha az belge hala aktif olarak korunmaktadır.

Web'de, yönetimlerde ve kaynak kodunda kapsamlı arama yaptıktan sonra, hepsinin temel dezavantajları olan aşağıdaki üç uygulama ile sonuçlandım:

  • sc: kısaltma. elektronik hesap makinesi için; vi tuş bağlamaları ile güzel bir araç, ancak sınırlayıcı ayrılmış biçime dışa aktarırken sınırlayıcı içeren dizeleri tırnak içine almaz ve csv dosyalarını doğru bir şekilde içe aktaramaz, yani tüm sayılar dize olarak yorumlanır
  • GNU oleo: 2001'den bu yana aktif olarak korunmuyor gibi görünüyor ve bu nedenle büyük linux dağıtımları için paket yok
  • çaydanlık: çeşitli işletim sistemleri için paketler sunar, ancak örneğin hücreler için karşı sezgisel adlandırma kullanır (satır ve sütun sayıları, yani 11, satır 1, sütun 1) ve FLTK GUI için gereksiz kod olarak düşünülür

Çeşitli Emacs modları, sınırlayıcı kuyuyu içeren dizeleri de belirtmez veya bir tablonun iskelesine girmek için çok daha fazla yazmayı gerektirir.

Bu nedenle, bu dezavantajlardan birini veya başka bir konsol tabanlı CSV editörüne yönelik ipuçlarını aştığım için çok minnettar olurum. Aslında, sadece hücreleri veya sütun ve satırları düzenlemek için herhangi bir hesaplama yapmasına gerek yoktur.


Yanıtlar:


11

Bir CSV düzenleyicisinin genellikle sayıları bu şekilde tanıması, dizeleri yalnızca gerektiğinde tırnak içine alması, tırnak içine alınmış dizeler içindeki ayırıcılara izin vermesi ve boş hücreleri daraltmaması beklenir. Yani, bu ekranda

1                      2          3
col-one                           col,three
                       col two
This is a long string. 1.23456789 3.14

dosyada bununla ilişkili olmalı

1,2,3
col-one,,"col,three"
,"col two",
"This is a long string.",1.23456789,3.14

Oleo birkaç yıldır korunmadı. Yeni bir Debian sistemine eski bir paket yükledim ve beceriksiz ve çok hatalı buldum. İşlemler olağan tuş vuruşlarından daha fazla zaman alır. Tüm dizeler tırnak içine alınmalı ve bunu elle yapmalısınız. CSV içe aktarma filtresi, dizelerdeki virgülleri işleyemez. Uzun hassasiyetli sayılar orijinal hallerinde tutulmaz (örneğin 1.23456789, 1.234567889999999 olur). Süreç bazen kaçak olur, böylece komut satırından öldürülemez.

Görünen o ki MacroCALC, Demlik ve SC hala bakımını yapan tek CLI e-tablolarıdır.

MacroCALC , CSV dosyalarını temiz bir şekilde içe veya dışa aktaramaz.

Çaydanlık biraz sıradışı, ancak kullanımı çok kolay ve kılavuz hızlı bir şekilde okunuyor. CSV'yi içe / dışa aktarmak basittir. İki büyük tuhaflığı var. İlk olarak, dizelerin otomatik olarak alıntılanmasını sağlarken, her zaman tüm dizeleri tırnak içine alır. İkincisi, tüm ondalık sayıları varsayılan hassasiyete kısaltır / genişletir. FLTK arayüzü çalışıyor, ancak hatalı.

SC hızlı ve kararlıdır. Vi'ye benzer şekilde çalışır ve yaklaşık olarak başlangıç ​​dostudur. SC formatı ile CSV arasında dönüştürme yapmak için harici programlar gereklidir. pscAracı (CSV -> SC için) SC ile birlikte yüklenir ve eserleri yüzden istiyorum:

cat file.csv | psc -k -d, | sc

Düzenledikten sonra dosyayı Put komutuyla kaydedin , ardından ssconvertGnumeric ile birlikte gelen yardımcı programı (yalnızca SC -> CSV) kullanın:

ssconvert file.sc file.csv

Çeşitli şeyleri yuvarlak açmayı denedim psc- ssconvertve süreç istikrarlı görünüyor. Sayılar ve karakter dizileri doğru işlenir.

CSV dosyalarını düzenlemek için alternatif bir yöntem, uygun bir eklentiye sahip bir metin düzenleyici kullanmaktır. Hem Emacs ve Vim Vim sürümü daha hızlı ve daha fazla özellik vardı gerçi, onlara sahip. Bunlar vurgulama, sütun hizalama ve blok işlemleri sunar. Her ikisini de çok yavaş ve buggy buldum.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.