macOS では、このページの Ctrl を Cmd に読み替えてください。
Web アプリは、Web ブラウザの中で動く TableSkim です。GUI やターミナル UI と同じコアを WebAssembly にしたものがブラウザの中でファイルを読むので、開いたファイルはアップロードされません。使うコンピューターに何かをインストールする必要もありません。開けるファイル形式は他の画面と同じで(対応ファイル形式 を参照)、機能もほとんど同じです。使えない機能は GUI との違い にまとめています。

Web アプリは静的なファイルだけのフォルダで、tableskim-<version>-web.zip として配布しています。このフォルダを Web サーバーの好きな場所に置き、フォルダの URL を末尾の / 付きで開いてください(例:https://example.com/tools/tableskim/)。サーバー側で動くプログラムはありません。
http://localhost / http://127.0.0.1 で配信する必要があります。index.html をファイルとして開いても動きません。
Cross-Origin-Opener-Policy: same-origin Cross-Origin-Embedder-Policy: require-corpヘッダーを設定できないサーバー(GitHub Pages など)では、ページが自分のフォルダだけを対象にヘッダーを付ける Service Worker を登録し、一度だけ読み込み直します。それでも cross-origin isolated で配信する必要があると表示される場合は、サーバーかブラウザがどちらも許していません。
python3 -m http.server 8000 を実行し、http://localhost:8000/ を開きます。
新しいブラウザを使ってください。Web アプリは Chromium(Google Chrome、Microsoft Edge)でテストしています。
自分のサーバーを用意せずに使うには、TableSkim の Web サイトにある最新リリースの Web アプリを開いてください:informationsea.github.io/tableskim/app/。こちらでも、ファイルはブラウザの中だけで読まれます。
# は数値、@ は日付、? は真偽値)、並べ替えの矢印。フィルタが掛かっている列の名前は強調色の下線付きになります。
4 rows of 54 など)、フィルタの内容、カーソルの行と列。
ページはシステムのライト/ダークの外観に合わせて表示されます。
Ctrl+O)を押してファイルを選ぶか、ページのどこかにファイルをドロップします。
## で始まる行を読み飛ばします。VCF ファイルでは最初からオンです。
Page Up / Page Down、Home / End でカーソルを動かします。Ctrl+Home / Ctrl+End で最初/最後の行へ移動します。テキストファイルを読み込み中のときは、Ctrl+End のあと最後の行を追い続けます。
Shift+クリック やドラッグで範囲を選択します。移動キーと Shift で選択を広げられます。行番号をクリックするとその行を選択します。Ctrl+A ですべてを選択します。
Ctrl+C、またはセルのメニューの Copy で、選択範囲をタブ区切りのテキストとしてコピーします(非表示の列は除かれます)。そのまま表計算ソフトに貼り付けられます。一度にコピーできるのは 100,000 行までです。まだ読み込まれていない行は除かれ、ステータスバーにその旨が表示されます。
セルや列見出しを右クリックするとメニューが開きます。コピー、クイックフィルタ、並べ替え、列の統計、グラフと集計、表示形式、列の非表示と固定が使えます。
Ctrl+G で Go To を開きます。行番号(120)、列の記号(C)、見出しの名前、セル(C120)を入力して Enter を押します。GUI と同じです。
Sidebar ボタンでサイドバーを表示・非表示にします。タブは次のとおりです。
Enter を押すかダブルクリックすると開きます。
サイドバーの左端をドラッグすると幅を広げられます。幅はブラウザに保存されます。
列見出しをクリックすると、その列で並べ替えます。1 回目は昇順、2 回目は降順、3 回目でファイルの順に戻ります。列のメニューには Sort Ascending、Sort Descending、Clear Sort があります。値の比較方法は 並べ替え・フィルタ・検索・統計 を参照してください。
Filter ボタン(Ctrl+Shift+F)でサイドバーの Filter ペインを開きます。配置は GUI と同じです。

Enter)でフィルタを適用します。それまでは下の行に "Press Apply (or Enter) to filter." と表示されます。適用後は結果(例:"4 rows of 54")か、適用できない理由(正規表現の誤りなど)が表示されます。
列やセルのメニューの Filter by This Column... は、その列の条件を追加した状態でペインを開きます。Clear Filter はフィルタを解除します。
クイックフィルタ:セルを右クリックし、Filter: Equal to This Value または Filter: Not Equal to This Value を選びます。クイックフィルタはそのたびに条件として追加されます。
ヒストグラムの棒や密度分布のセルをクリックすると、行がさらに絞り込まれます。この絞り込みは Additional narrowing (N) - Clear として表示され、Match: Any を選んでいても条件と AND で組み合わされます。このボタンで絞り込みだけを解除でき、Clear は条件とまとめて解除します。
演算子と値の比較方法は 並べ替え・フィルタ・検索・統計 を参照してください。
右上の検索欄(Ctrl+F で移動します)に入力して Enter を押すと、カーソルが次のヒットへ移動し、表示中のヒットがすべて強調されます。Enter と Shift+Enter、または ↑ / ↓ ボタンで次/前のヒットへ移動し、Escape でグリッドに戻ります。Aa は大文字と小文字を区別し、.* は入力を正規表現として扱います。検索欄にはそれまでに見つかったヒットの数が表示されます。
Statistics ボタン、または列のメニューの Statistics で Statistics ペインを表示します。カーソルのある列について、表示中の行の行数と空のセルの数、値の種類数、最小値と最大値、数値の平均と標準偏差、出現回数の多い値を表示します。カーソルを別の列に動かすと、その列の統計に切り替わります。列の統計 も参照してください。
Save PNG と Save SVG は、表示しているグラフをそのまま保存します。ファイルはブラウザのダウンロード先に保存されます。PNG はページ上の 2 倍の大きさで描かれ、SVG はどの大きさでも線や文字がくっきり表示されます。
グラフの読み方や、問いに応じたグラフの選び方は グラフと集計 を参照してください。
Group By は、表示中の行をキー列の値でグループに分け、ほかの列の集計値(count、distinct、sum、mean、min、max)を求めます。GUI と同じです。各列の Key と Aggregate のチェックボックスと、求める集計値を選びます。結果は Group By という名前のシートとして開き、次の Group By で置き換わります。表に集計する:Group By を参照してください。
列のメニューから次の操作ができます。
非表示の列はコピー、エクスポート、Group By から除かれます。並べ替え、フィルタ、検索には影響しません。GUI と同じです。
列のメニューの Format... で、その列の数値(桁区切り、小数点以下の桁数)と日付の表示形式を選びます。変わるのは表示だけで、コピーやエクスポートでは元の値が使われます。列の型と表示形式 を参照してください。
Monospace ボタンで、セルと Content ペインを等幅フォントで表示します。配列やコードのような固定幅のデータが揃って見えます。この設定はブラウザに保存されます。
Excel ブックや DuckDB / SQLite データベースでは、グリッドの上にシートやテーブルごとのタブが表示されます。SQL の結果や Group By の結果もシートとして追加されます。
DuckDB、SQLite、Parquet、JSON ファイルでは、SQL ボタンでページ下部に SQL パネルを開きます。

クエリを入力して Run(Ctrl+Enter)を押すと、結果が SQL Result シートとして開きます。次のクエリで置き換わり、ほかの設定でファイルを開き直したときは最後のクエリを再実行します。Tab でテーブル名や列名を補完し、Ctrl+↑ / Ctrl+↓(または History...)で以前のクエリを呼び出せます。履歴はブラウザに保存され、GUI やターミナル UI の履歴とは別です。クエリできるものは SQL の実行 を参照してください。
## 行)で読み、各列には値がすべて収まる最も狭い型を付けます。並べ替えとフィルタは適用されません。Convert to Parquet / DuckDB を参照してください。
どちらもバックグラウンドで実行され、行数と Stop ボタンが表示されます。ファイルはブラウザのメモリに書き出されたあと、元のファイル名にちなんだ名前でブラウザのダウンロード先に保存されます。
ファイルはその場で少しずつ読まれ、全体がメモリにコピーされることはありません。テキストファイルの行は GUI と同じく一度読むとメモリに保持されるので、行が 100 MiB、500 MiB、1 GiB、以降 2 GiB ごとに達すると読み込みが一時停止します。Continue reading で続きを読み、Stop here で読んだところまでを表とします。ブラウザがページに与えるメモリはプログラムよりずっと少なく、最大でも 4 GiB です。とても大きなテキストファイルは、先に GUI やターミナル UI で Parquet に変換しておくとよいでしょう。Parquet ファイル、データベース、Excel ブックは必要な分だけ読まれます。
Web アプリには、次のものを除いて GUI の機能がそろっています。
| キー | 動作 |
|---|---|
Ctrl+O | ファイルを開く |
矢印、Page Up / Page Down、Home / End | カーソルを動かす |
Ctrl+Home / Ctrl+End | 最初/最後の行 |
Shift + 移動キー | 選択を広げる |
Ctrl+A | すべてを選択 |
Ctrl+C | 選択範囲をタブ区切りでコピー |
Enter、ダブルクリック | セルの値全体をサイドバーに表示 |
Ctrl+G | Go To |
Ctrl+F | 検索欄へ移動 |
Enter / Shift+Enter | 検索欄で:次/前のヒット |
Ctrl+Shift+F | Filter ペイン |
Enter | フィルタの値の欄で:フィルタを適用 |
Ctrl+Enter | SQL パネルで:クエリを実行 |
Tab | SQL パネルで:名前を補完 |
Ctrl+↑ / Ctrl+↓ | SQL パネルで:前/次のクエリ |
Escape | ダイアログやメニューを閉じる、検索欄から戻る |