菊丸ツゥルズ

CSV/TSV列の選択・並べ替え

CSV/TSVの列を選択・並べ替え・リネーム

列を選び、順序を並べ替え、見出し名を変更して同じ形式のCSV/TSVを出力します。すべてブラウザ内で処理します。

CSVまたはTSVと、出力したい列を入力してください。

使い方とAIOクエリ例

CSV/TSVから必要な列だけを選び、順序を変え、見出し名を変更して同じ形式で出力します。「ヘッダーを読み込む」で入力から列名(または列番号)を列指定欄へ読み込み、そこから編集すると簡単です。入力はブラウザ内だけで処理し、外部へ送信しません。

  • ヘッダーあり・選択とリネームの例: csv_column_editor.html?input=name%2Cprice%2Cstock%0A%E9%89%9B%E7%AD%86%2C120%2Ctrue&columns=price%2Cname%3A%E5%93%81%E5%90%8D&format=json
  • ヘッダーなし・列番号での並べ替えの例: csv_column_editor.html?input=1%2C2%2C3%0Aa%2Cb%2Cc&columns=3%2C1&header=false&format=json
  • format=json は機械可読JSON、format=raw は変換後のCSV/TSVテキストだけを返します。

CSV/TSV列の選択・並べ替えは、表形式データから必要な列だけを選び、出力順を並べ替え、見出し名を変更してから同じ形式(CSVまたはTSV)で書き出すツールです。ダブルクォートで囲まれたセル内のカンマや改行、エスケープされた引用符("")にも対応した引用符対応パーサーを使うため、Excelなどからコピーした複雑な表データもそのまま扱えます。列の指定は「price,name:品名」のように、出力したい列名をカンマ区切りで出力順のまま書くだけで、コロンの後ろに新しい名前を書けばその場でリネームできます。ヘッダー行がないデータは、列名の代わりに1始まりの列番号(例: 3,1,2)で同じ操作ができます。処理はすべてブラウザ内で完結し、入力したデータが外部へ送信されることはありません。

使い方・サンプル・結果例・注意点

使い方

CSV/TSVを入力欄に貼り付け、「先頭行をヘッダーとして扱う」を必要に応じて切り替えます。「ヘッダーを読み込む」を押すと、入力から列名(ヘッダーなしの場合は列番号)を列指定欄へ自動で列挙するので、そこから不要な列を消し、残したい順序に並べ替え、必要なら「元の名前:新しい名前」の形でリネームします。「変換」を押すと、選んだ列だけを指定順に並べ替えた新しいCSV/TSVが結果欄に表示され、「コピー」で書き出せます。

サンプル入力

入力: name,price,stock,note / 鉛筆,120,true,"2B, 六角" / ノート,240,false,A5サイズ / 消しゴム,90,true,白 / 列指定: price,name:品名

結果例

上記サンプルで「変換」を押すと、price列とname列(品名にリネーム)だけを、この順序で抜き出した3行のCSVが生成されます。1行目は「price,品名」というヘッダー行になり、以降は「120,鉛筆」「240,ノート」「90,消しゴム」の3行が続きます。stock列とnote列は出力から除外され、note列内の「2B, 六角」のようにカンマを含む値も、元のCSVで正しくダブルクォートに囲まれていれば1つの値として扱われます。

注意点

列指定はカンマ区切りの単純な形式のため、列名自体にカンマを含む特殊なヘッダーは正しく指定できません。その場合は列番号(ヘッダーなしモード)を使うか、先に列名を変更してから利用してください。出力後の列名(リネーム後)が重複する場合はエラーになるため、必ず一意な名前にしてください。区切り文字は既定で自動判定(1行目のタブとカンマの出現数を比較)しますが、意図と異なる場合は「入力の区切り文字」で手動指定してください。出力の区切り文字は既定で入力と同じですが、CSVをTSVに変換する、またはその逆も指定できます。

こんなときに使えます

  • 他システムへ取り込む前に、CSVエクスポートから必要な列だけを選び、システムが期待する列名・順序に合わせる
  • Excelからコピーした表データのうち、個人情報を含む列などを除外してから共有用CSVを作る
  • テスト用CSVデータの列順を、テストツールが読み込む順序に合わせて並べ替える
  • TSVでエクスポートされたログデータから、分析に必要な列だけを抜き出してCSVに変換する
  • APIレスポンスをCSV化したデータの列名を、社内で使う日本語の見出しにリネームする

よくある質問

列名を変えずに順序だけ変えたい場合はどう指定しますか?

コロンを付けずに、出力したい順序のまま列名をカンマ区切りで書いてください。例えば「price,name」のように書けば、price列とname列がこの順序でそのままの見出し名で出力されます。リネームしたい列だけ「元の名前:新しい名前」の形式にすれば、他の列は元の名前のまま出力されます。

ヘッダー行がないCSVはどう扱えばよいですか?

「先頭行をヘッダーとして扱う」のチェックを外してください。この場合、列指定には列名の代わりに1始まりの列番号を使います。例えば3列目・1列目の順に抜き出したい場合は「3,1」のように指定します。この場合、出力にもヘッダー行は付きません。「ヘッダーを読み込む」ボタンを押すと、現在の列数に応じた「1,2,3...」を列指定欄へ自動入力するので、そこから並べ替えるだけで済みます。

同じ列を2回選ぶことはできますか?

ヘッダーがある場合、同じ列を2回選ぶと出力後の見出し名が重複してしまうため「duplicate_column」エラーになります。同じ内容の列を複製したい場合は、2回目の指定に別名を付けてください。例えば「price,price:price_copy」のように書けば、price列の内容を2つの列(price列とprice_copy列)として出力できます。ヘッダーがない場合は、同じ列番号を複数回指定しても列名の重複が発生しないため、そのまま複製できます。

セルの中にカンマや改行が含まれる値はどう扱われますか?

元のCSV側でその値がダブルクォートで囲まれていれば、値の中のカンマや改行は区切りとして扱わず、1つの値として正しく読み込みます。値の中にダブルクォート自体を含めたい場合は、CSVの標準的な書き方どおり「""」と2つ重ねてエスケープしてください。引用符の対応が崩れている(開いたまま閉じられていない)場合は、unmatched_quoteエラーになります。

CSVをTSVに変換する、またはその逆はできますか?

できます。「出力の区切り文字」で、入力とは別にCSV(カンマ)かTSV(タブ)を選べます。既定の「入力と同じ」のままなら、入力で使われていた区切り文字(自動判定または手動指定した方)がそのまま出力にも使われます。列の選択・並べ替え・リネームと同時に区切り文字も変換できます。

入力したデータはサーバーに送信されますか?

送信しません。CSV/TSVの解析、列の選択・並べ替え・リネーム、出力の生成はすべてブラウザ内のJavaScriptで行い、入力したデータや列指定が外部へ送られることはありません。同じURL(クエリ)を開けば常に同じ結果を返すため、変換例をそのまま共有したりブックマークしたりできます。