ForHosting KIT · 開発者向けツール

CSVフィールドをエスケープ:カンマ・改行・引用符に対応

CSVフィールドは単純に見えますが、値にカンマ、改行、引用符が含まれると正しい処理が必要です。このツールは1つのテキスト値に標準的なエスケープ規則を適用し、カンマ区切りの行へ安全に挿入できる形にします。通常の文字列はそのまま保持し、保護が必要なフィールド全体を二重引用符で囲み、内部の引用符を2つに重ねます。結果は常に一定で、表計算、データ書き出し、自動生成レポート、データ処理にすぐ利用できます。

● Beta無料・ブラウザ内で実行
ご利用方法 ウェブAPIメールTelegramアプリ 近日

任意の文字列を安全なCSVフィールドに変換します

CSVではカンマでフィールドを、行末でレコードを区切ります。そのため、これらの文字が値そのものに含まれる場合は区切りとの衝突が起こります。テキスト値を貼り付けるか送信すると、カンマ区切り行の1つの位置に置ける正確な表記を返します。口座コードのような単純な値は変更しません。カンマ、復帰、改行、二重引用符のいずれかを含む値は、全体を二重引用符で囲みます。値の中に元からある二重引用符は連続する2つの引用符に変換されるため、仕様に準拠したCSVリーダーは元の文字を復元できます。変換するのはCSVを安全にするための構文だけです。前後の空白削除、改行コードの統一、数値の再解釈、大文字と小文字の変更は行いません。この限定された役割により、行や列の組み立てをすでに管理しているアプリケーションで、各値に共通の正しい規則を適用できます。空文字列は標準的なカンマ区切りレコードで有効な空フィールドなので、そのまま空で返します。

引用符で囲む条件と二重化の規則を確認します

重要なのは、内容とCSV構造を区別することです。会社名の中のカンマが新しい列になったり、住所の中の改行が新しいレコードになったりしてはいけません。フィールド全体を二重引用符で囲むと、それらが区切りではなく文字どおりの内容であることをパーサーへ伝えられます。引用符には追加の規則があり、引用されたCSVフィールド内の二重引用符1文字は、二重引用符2文字で表します。このツールはすべての条件をまとめて判定します。たとえば、カンマと引用符付きの呼び名を含むテキストでは、外側に1組の引用符を付け、元の各引用符を二重にします。構造上特別な文字を含まないテキストは、不要な変更を避けてそのまま返します。Unixの改行と、別のシステムで使われる復帰の両方に対応します。対象はカンマ区切りCSVであり、区切り文字を自由に設定する処理ではありません。タブやセミコロン区切りのデータには、その形式に合う規則をご利用ください。出力は1フィールドであり、完全な行、見出し、ファイルではありません。

エスケープ済みの値を出力処理へ組み込みます

返されたテキストは、行生成処理が出力するカンマの間へそのまま配置し、引用符をさらに追加しないでください。フォーム送信値、データベースの検索結果、ログ、レポートなど、各元データへ個別にこの処理を適用すれば、安全な行を簡潔に生成できます。アルゴリズムは決定的でネットワークを使用しないため、同じ入力からはブラウザーでもAPIでも必ず同じフィールドが得られます。固定データによるテストや、再現可能なビルドにも適しています。すでにエスケープしたフィールドは、その表記自体を新しい文字どおりの値として扱う場合を除き、もう一度処理しないでください。CSVのエスケープは文脈依存なので、2回目は最初の構文を内容として扱い、さらに1層を追加します。また、この機能が扱うのはフィールド構文であり、表計算ソフトの数式注入対策ではありません。等号などで始まる信頼できないテキストを表計算ソフトで開く場合は、対象ソフトの方針に沿った対策を別途ご検討ください。最後に、処理済みフィールドをカンマで連結し、受信側が要求する改行で各レコードを終端します。

安全なCSVエクスポートを作成します

データベースやアプリケーションの各値を処理してから、結果のフィールドをカンマ区切りのレコードに連結します。

複数行の住所を保持します

住所フィールド内の改行を維持し、意図しない別のCSVレコードが作られることを防ぎます。

名称と説明文を正しく保護します

商品名、注記、説明に含まれるカンマや引用符を、後続列をずらさずに表現します。

1回の利用料金はいくらですか?

APIリクエストは1回$0.002です。同じ決定的な変換をブラウザーでは無料でご利用いただけます。

すべての値が引用符で囲まれますか?

いいえ。カンマ、復帰、改行、二重引用符を含む場合だけ囲み、それ以外は変更せずに返します。

引用符はどのようにエスケープされますか?

フィールド内の二重引用符を2つ連続させ、さらにフィールド全体を1組の二重引用符で囲みます。

完全なCSV行を作成しますか?

いいえ。1つの処理済みフィールドを返します。各値を別々に処理し、カンマで連結して適切なレコード終端を加えてください。

複数行の値に対応していますか?

はい。復帰や改行を含むテキストは引用符で囲まれるため、改行が同じフィールド内に保たれます。

表計算ソフトの数式注入を防げますか?

いいえ。実装するのはCSVフィールド構文だけです。数式注入対策は利用先に応じた別の方針として適用してください。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/str/escape-csv-field

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/str/escape-csv-field \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Quarterly report, \"final\""}'
{
  "text": "Quarterly report, \"final\""
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.escape_csv_field",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

KITの完全なドキュメントを見る →