タグ

csvとCSVに関するSystemのブックマーク (2)

  • バリデーションとパースの分離。Goで実装する「変更に強い」CSV 処理の設計 - カミナシ エンジニアブログ

    こんにちは。カミナシで「カミナシ 従業員」の開発を行っている nilpoona です。 業務アプリケーションを作っていると、避けて通れないのが CSV インポート機能 です。 最初は「encoding/csv で読んでループ回せば実装できる」と考えて作り始めるのですが、仕様が複雑になるにつれて、以下のような課題に直面することがあります。 バリデーションとパース処理が混在し、エラーの発生箇所が追いづらい。 「文字コードが Shift_JIS だった」など多様なエンコーディングへの対応で、ビジネスロジックが複雑になる。 パースやバリデーションエラーを即座にリターンしてしまうと、ユーザーは一つのエラーを直してもまた次のエラーが出る「モグラ叩き」のような修正サイクルを繰り返すことになる。 データが正しい状態か保証されないまま、後続の処理(DB 保存など)に渡されてしまう。 今回は、こういった CS

    バリデーションとパースの分離。Goで実装する「変更に強い」CSV 処理の設計 - カミナシ エンジニアブログ
    System
    System 2025/12/11
  • PHPでのCSV出力について

    こんにちは、中川です。 今日は、PHPでのCSV出力について書いてみようと思います。 CSV出力といえば、カンマ区切りの1行ずつのデータで出力すれば・・・と、簡単なイメージもありますが、実はいろいろと細かい対策が必要な処理のひとつです。 ■データ内の改行 データ内に改行文字がある場合、そのデータは「"」(ダブルクォーテーション)で囲う。 (例)

    PHPでのCSV出力について
  • 1