インタラクティブコンソールベースのCSVエディター


12

コンソールでCSVファイルを編集するためのスプレッドシートアプリケーションは、以前はパーソナルコンピュータ用の最も初期のキラーアプリケーションの1つでしたが、それらのほんの少しだけであり、それらに関するドキュメントはまだまだ活発に維持されています。

Web、マンページ、およびソースコードで大規模な検索を行った後、すべてに基本的な欠点がある次の3つのアプリケーションができました。

  • sc:略語。スプレッドシート計算機用。viキーバインドを備えた素晴らしいツールですが、区切り記号で区切られた形式にエクスポートする場合、区切り記号を含む文字列を引用符に入れず、csvファイルを正しくインポートできません。つまり、すべての数値は文字列として解釈されます
  • GNU oleo:2001年以降、積極的に保守されているようには見えないため、主要なLinuxディストリビューション用のパッケージはありません。
  • ティーポット:さまざまなオペレーティングシステム用のパッケージを提供しますが、たとえば、セルにはわかりにくい名前(行と列の番号、つまり11は行1、列1のように見える)とFLTK GUIの余分なコードを使用します

さまざまなEmacsモードも、区切り文字を含む文字列を適切に引用しないか、テーブルのスキャフォールドを入力するためにより多くの入力を必要とします。

したがって、これらの欠点の1つ、または別のコンソールベースのCSVエディターへのヒ​​ントを克服してくれて、とても感謝しています。実際には、セルや列と行を編集するだけで計算を行う必要はありません。


回答:


11

CSVエディターは通常、数値をそのまま認識し、必要な場合にのみ文字列を引用し、引用された文字列内の区切り文字を許可し、空のセルを折りたたまないことが期待されています。だから、これは画面上

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

ファイル内でこれと相関する必要があります

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

オレオは数年間維持されていません。最近のDebianシステムに古いパッケージをインストールしましたが、扱いにくく、バグが多いことがわかりました。操作には、通常のキーストローク数よりも多くの時間がかかります。すべての文字列は引用符で囲む必要があり、手動で行う必要があります。CSVインポートフィルターは、文字列内のコンマを処理できません。長精度の数値は元の形式で保持されません(例:1.23456789は1.234567889999999になります)。プロセスが暴走して、コマンドラインから強制終了できない場合があります。

MacroCALC、ティーポット、およびSCは、まだメンテナンスされている唯一のCLIスプレッドシートのようです。

MacroCALCはCSVファイルを正常にインポートまたはエクスポートできません。

ティーポットは少し珍しいですが、それは非常に使いやすく、マニュアルはすぐに読むことができます。CSVのインポート/エクスポートは簡単です。これには2つの大きな癖があります。まず、文字列を自動的に引用しますが、常にすべての文字列を引用します。次に、すべての10進数をデフォルトの精度に切り捨て/展開します。FLTKインターフェースは機能していますが、バグがあります。

SCは高速で安定しています。viと同様に動作し、初心者にやさしいものです。SC形式とCSV間の変換には外部プログラムが必要です。pscツール(CSV -のみ> SC)は、SCなどのような作品でインストールされます。

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

編集後、Putコマンドでファイルを保存し、ssconvertGnumericに付属のユーティリティ(SC-> CSVのみ)を使用します。

ssconvert file.sc file.csv

私はさまざまなものを往復してみましたpsc- ssconvertプロセスは安定しているようです。数字と文字列は正しく処理されます。

CSVファイルを編集する別の方法は、適切なプラグインを備えたテキストエディターを使用することです。EmacsVimの両方にありますが、Vimバージョンの方が高速で、より多くの機能を備えています。これらは、強調表示、列の配置、およびブロック操作を提供します。どちらも非常に遅く、バグが多いことがわかりました。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.