CSVを指定行数で分割する方法|見出しを残して取り込み用ファイルを作る

CSVをシステムへ取り込もうとして、「1回に登録できる件数を超えています」と表示されたことはありませんか。

商品情報や顧客情報、売上明細などのCSVは、データが増えると取り込み先の上限に収まらなくなることがあります。そのようなときは、CSVを指定した行数ごとに分割すると、複数回に分けて取り込めます。

ただし、単純に途中で切り分けるだけでは、2つ目以降のファイルから見出しがなくなったり、データの抜けや重複が発生したりする原因になります。

CSVを取り込み用に分割するときは、「1ファイルあたりのデータ件数」「各ファイルの見出し」「取り込み先の形式」の3点をそろえることが大切です。

この記事では、事務人の「Excel・CSV結合・分割ツール」を使い、見出しを残したままCSVを指定行数で分割する方法を解説します。

目次

CSVを指定行数で分割すると何ができる?

指定行数での分割とは、CSVのデータを先頭から一定の件数ずつ区切り、複数のファイルに分ける方法です。

たとえば、2,500件のデータが入ったCSVを1,000件ずつ分割すると、次のようになります。

分割後のファイル含まれるデータデータ件数
1つ目1〜1,000件目1,000件
2つ目1,001〜2,000件目1,000件
3つ目2,001〜2,500件目500件

各ファイルに見出しを付ければ、どのファイルも同じ項目構成で取り込めます。

最後のファイルだけ件数が少なくなるのは正常です。端数を埋めるために空白行を追加する必要はありません。

この方法は、次のような作業に向いています。

  • 取り込み先の上限に合わせて、1,000件ずつ登録する
  • 大量の商品データを複数回に分けて取り込む
  • 小分けにしたファイルで取り込み結果を確認する
  • エラーが出た範囲を絞り込めるようにする

ただし、行数で分割しても、ファイル容量が一定になるわけではありません。 長い説明文が多いCSVは、同じ1,000件でも容量が大きくなります。

分割前に確認したい3つのこと

1.取り込み上限に見出しが含まれるか

取り込み先に「1ファイル1,000行まで」と書かれていても、その数え方を確認する必要があります。

取り込み先の条件分割するデータ件数の考え方
データを1,000件まで取り込めるデータ1,000件+見出し1行
見出しを含めて表の1,000行までデータ999件+見出し1行
ファイル容量が5MBまで行数に加えて、保存後の容量も確認する

事務人のツールでは、元CSVの1行目を項目名として扱う場合、指定行数は見出しを除いたデータ件数です。各ファイルに項目名を入れる設定にすると、その分の見出しが追加されます。

「1,000行」と「1,000件」が同じ意味とは限らないため、取り込み先の説明に合わせて設定しましょう。

なお、セル内に改行がある場合は、テキスト上の行数とデータ件数も一致しません。この違いは後ほど説明します。

2.元CSVの1行目が見出しかどうか

見出しとは、「商品コード」「商品名」「数量」など、列の内容を示す項目名です。

たとえば、次のCSVには見出しがあります。

商品コード商品名数量
00123ペン10
00045ノート5

一方、最初から「00123」「ペン」「10」とデータが並んでいるCSVには、見出しがありません。

見出しのないCSVで「1行目を項目名として扱う」を選ぶと、最初のデータを見出しと誤認してしまいます。読み込み後は、先頭の内容を確認してください。

3.文字コードや列順が取り込み先に合っているか

CSVを小さく分けても、取り込み先が求める形式と違えばエラーになることがあります。

分割前に、次の条件も確認しておきましょう。

  • 見出しが必要か、不要か
  • 項目名や列順に指定があるか
  • UTF-8やShift_JISなど、文字コードの指定があるか
  • UTF-8のBOMあり・なしに指定があるか
  • カンマなど、区切り文字に指定があるか
  • 必須項目に空欄がないか

取り込み用のサンプルCSVが提供されている場合は、見出しや列順を比較すると確認しやすくなります。

事務人のツールでCSVを指定行数に分割する方法

事務人の「Excel・CSV結合・分割ツール」では、CSVを指定した行数ごとに分割し、各ファイルに項目名を付けて保存できます。

分割したファイルはZIPにまとめられるため、まとめてダウンロードした後に展開して利用できます。

ここでは、見出し付きのCSVを、データ1,000件ずつに分割する例で説明します。

手順1.「分割する」を選び、CSVを追加する

ツールを開き、「分割する」を選択します。

次に、分割したいCSVファイルを選ぶか、指定の場所へドラッグ&ドロップして追加します。

初期状態は「PCで処理」です。サーバー処理を選ぶ場合はファイルがサーバーへ送信されるため、画面の案内と社内のデータ取り扱いルールを確認して選択してください。

元ファイルは残しておき、分割後のファイルと照合できるようにしておきます。

手順2.文字コードと1行目の扱いを確認する

CSVを追加したら、日本語が正しく表示されているか、列が正しく区切られているかを確認します。

見出し付きのCSVでは、1行目を項目名として扱う設定にします。

ここで確認するのは、次の3点です。

  • 「商品コード」「商品名」などが項目名として表示されている
  • 日本語が文字化けしていない
  • 値が本来の列に収まっている

文字化けや列のずれがある場合は、入力側の文字コード・区切り文字を見直してから進めます。

手順3.「指定した行数ごと」を選ぶ

分割方法で「指定した行数ごと」を選択します。

「1ファイルあたりの行数」には、分割したいデータ件数を入力します。今回の例では「1000」です。

取り込み先が見出しを含めて1,000行までとしている場合は、データ件数を「999」にするなど、上限の数え方に合わせて調整してください。

手順4.「それぞれのファイルに項目名を入れる」を有効にする

分割したすべてのCSVに見出しを付けるには、「それぞれのファイルに項目名を入れる」を有効にします。

元CSVの1行目を項目名として扱う設定と、各出力に項目名を入れる設定は、両方の確認が必要です。

たとえば、4件のデータを2件ずつ分割すると、次のようになります。

分割後の1つ目のCSV

商品コード商品名数量
00123ペン10
00045ノート5

分割後の2つ目のCSV

商品コード商品名数量
00067付箋8
00089ファイル3

2つ目のCSVにも見出しがあるため、同じ項目構成で取り込めます。

反対に、取り込み先が見出し不要としている場合は、項目名を出力しない設定を選びます。見出しを付けるかどうかは、取り込み先の仕様に合わせましょう。

手順5.保存形式をCSVにし、出力条件を確認する

取り込み用のファイルを作る場合は、保存形式をCSVにします。

文字コード、区切り文字、改行、UTF-8のBOMの有無なども、取り込み先の指定に合わせます。

「Excelで読みやすい設定」と「取り込み先が受け付ける設定」が一致するとは限りません。取り込み先の案内を優先してください。

手順6.プレビューを確認し、分割ファイルを保存する

実行前に、表示される出力数や先頭データ、注意点を確認します。サーバー処理ではプレビューが先頭の一部に限られるため、保存後の確認も行ってください。

問題がなければ処理を実行し、分割結果のZIPを保存します。

ZIPを展開したら、中に入っているCSVを確認します。取り込み先がZIPに対応していない場合は、展開したCSVを指定してください。

分割後は「件数・見出し・境目」を確認する

分割が完了したら、取り込む前に出力ファイルを確認します。

データ件数の合計が元CSVと一致しているか

元CSVに2,500件のデータがあれば、分割後の件数の合計も2,500件になることを確認します。

1,000件・1,000件・500件に分割した場合は、次のとおりです。

1,000件+1,000件+500件=2,500件

各ファイルに追加した見出しは、データ件数に含めません。

すべてのファイルに正しい見出しがあるか

最初のファイルだけでなく、2つ目以降のCSVにも同じ見出しがあるかを確認します。

項目名の順番もそろっている必要があります。

また、見出しがファイルの途中にデータとして混ざっていないかも確認しましょう。元CSVの途中に見出しが入っている場合、分割するだけでは取り除けません。

ファイルの境目でデータが抜けたり重複したりしていないか

1つ目の最後のデータと、2つ目の最初のデータを元CSVと照合します。

商品コードや管理番号など、データを識別できる項目があると確認しやすくなります。

識別番号が必ず連番とは限らないため、番号が続いているかだけで判断せず、元CSVの同じ位置と比較してください。

CSVの「行数」は、改行の数とは限らない

CSVを分割するときに注意したいのが、セル内の改行です。

備考欄や商品説明に改行が入っていると、1件のデータがテキスト上では複数行に見えることがあります。

CSVの一般的な形式を説明するRFC 4180でも、二重引用符で囲まれた項目の中に改行を含める形が示されています。RFC 4180:CSVの形式

そのため、テキストの改行を数えて機械的に切り分けると、1件のデータを途中で分断するおそれがあります。

CSVの分割には、セル内改行や引用符を読み取れる方法を使いましょう。

この記事でいう「データ1,000件」は、CSVとして読み取った1,000レコードを意味します。テキストエディタに表示される1,000行とは、必ずしも同じではありません。

分割しても取り込めないときの確認事項

件数は上限内なのにエラーになる

ファイル容量の上限にもかかっていないか確認してください。

行数を減らせば通常は容量も小さくなりますが、1件あたりの文字数によって容量は変わります。

事務人のツールには「ファイルサイズを目安にする」分割方法もあります。容量制限に合わせたい場合の選択肢ですが、目安による分割なので、最終的なCSVの容量は保存後に確認しましょう。

日本語が文字化けする

入力時に正しく読み取れていたか、出力時の文字コードが取り込み先の指定に合っているかを確認します。

分割は、すでに壊れた文字を元に戻す処理ではありません。元CSV自体に問題がある場合は、元のシステムから再出力することも検討してください。

商品コードの先頭の0が消える

分割後の確認や編集で表計算ソフトを使う際は、商品コードや郵便番号を数値として読み込んでいないか確認します。

CSVは、セルの表示形式を保持するファイルではありません。取り込み先でも対象の列を文字列として扱う必要があります。

「00123」のような値は、分割前・分割後・取り込み後のそれぞれで確認しましょう。

2つ目以降のファイルだけ取り込めない

各CSVの先頭に見出しがあるか、最初のファイルと同じ列構成になっているかを確認します。

取り込み画面側に「1行目を見出しとして扱う」などの設定がある場合は、その設定も合わせて確認してください。

同じ注文の明細が別ファイルに分かれてしまう

指定行数での分割は、一定件数ごとに区切る方法です。同じ注文番号の明細を必ず1つのファイルにまとめる方法ではありません。

同じ注文や顧客のデータを分けたくない場合は、事務人のツールの「選んだ項目の値ごと」など、目的に合う分割方法を検討します。

ただし、同じ値のデータだけで取り込み上限を超える場合は、取り込み先の対応方法を確認する必要があります。

分割したCSVを取り込むときの注意点

ファイルを分けた後は、どこまで取り込んだかを記録しておくと、二重登録を防ぎやすくなります。

ファイル取り込み状態確認内容
1つ目のCSV完了登録件数を確認済み
2つ目のCSVエラー取り込み結果を確認中
3つ目のCSV未実施2つ目の確認後に実施

取り込み中にエラーが出ても、全件が未登録とは限りません。一部のデータだけ登録されるシステムもあります。

再実行する前に、取り込み履歴やエラーレポートを確認してください。

また、ファイル名は順番が分かるようにしておくと便利です。「001」「002」「003」のように桁数をそろえると、並べ替えても順序を把握しやすくなります。

よくある質問

見出しを残したままCSVを1,000件ずつ分割できますか?

できます。事務人のツールでは、元CSVの1行目を項目名として扱い、「指定した行数ごと」で1,000を指定したうえで、「それぞれのファイルに項目名を入れる」を有効にします。

この場合、各ファイルは最大でデータ1,000件と見出し1行になります。

最後のファイルだけ行数が少なくても問題ありませんか?

指定件数で割り切れなければ、最後のファイルに残りのデータが入ります。通常の動作なので、取り込み先に最低件数などの条件がなければ、そのまま利用できます。

見出しのないCSVにも項目名を付けられますか?

分割時に各ファイルへ見出しを残す機能は、元CSVの見出しを利用するものです。見出しのないCSVから、正しい項目名を自動で判断できるとは限りません。

取り込み先が見出しを要求する場合は、事前にCSV編集ツールなどで適切な項目名を追加してから分割してください。

分割すると重複データも削除されますか?

分割と重複削除は別の処理です。元CSVに同じデータが複数入っていれば、分割後にも残ります。

重複の確認や修正が必要な場合は、分割とは別に行いましょう。

Excelを使わずに分割できますか?

事務人の「Excel・CSV結合・分割ツール」を使えば、ExcelでCSVを開いてコピー&ペーストする作業をせずに分割できます。

取り込み用のCSVを作る際は、指定行数だけでなく、各ファイルの見出しと保存形式も合わせて設定してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次