Record-safe CSV split guide

CSVを行の途中で壊さず、件数とbyte上限に合わせて分割する

引用符内のカンマや改行を含むレコードを完全なまま保ち、1ファイル2行・48 UTF-8 byteの上限で分割します。上限超過は切り捨てず却下します。

行とbyteを同時に確認する

ヘッダーを各partに繰り返し、データは1part最大2行、UTF-8で48 byteです。A002の引用符内カンマとA003の引用符内改行は、それぞれ1レコードです。

partrecord IDdata rowsUTF-8 bytes
part-001.csvA001 / A002248
part-002.csvA003 / A004248

レコード境界を先に守る

文字列の改行やカンマを単純に数えて切りません。引用符を解釈してレコードを確定し、ヘッダー・順序・完全な行をpartへ移します。

record A002: "comma,inside"
record A003: "line 1\nline 2"
part limit: 2 rows / 48 UTF-8 bytes

大きすぎる行は成功にしない

oversized-record.csvは完全な1レコードだけで48 byteを超えます。途中で切る、短くする、次のpartへ無言で移すことはせず、分割を却下して確認へ戻します。

byteはシリアライズ後のUTF-8で測ります。文字数だけでは判定しません。

このガイドの範囲

合成fixtureの静的受渡し資料です。入力・アップロード・保存・外部送信・自動配信を行わず、顧客データの復元や成功を保証しません。