月別CSVの取りまとめ
月別CSVを1年分へ縦結合する|列順が違うファイルは先に止める
経理システムから月ごとに出したCSVを、年度集計用の1ファイルへまとめたい。縦結合では、ファイルを上から順に積み、ヘッダーは最初の1行だけ残します。列名か列順が違うファイルを混ぜると、金額が店舗列へ入る事故につながります。
7月の次に8月を積むと、行順もその順になる
7月.csvの2件、8月.csvの2件をこの順で選ぶと、出力はヘッダー1行と4データ行です。ファイル順を逆にすれば、出力行も8月から始まります。下の例で列順を変えたときの停止も確認できます。
CSVの縦結合を試してみる
ファイルの順番を入れ替えると出力行も同じ順番で変わります。列順が違う場合の停止も試せます。
結合するCSV
2ファイル
17月.csv
2データ行
| 受注番号 | 店舗 | 金額 |
|---|---|---|
| A001 | 東京店 | 1200 |
| A002 | 大阪店 | 850 |
28月.csv
2データ行
| 受注番号 | 店舗 | 金額 |
|---|---|---|
| A003 | 東京店 | 640 |
| A004 | 名古屋店 | 2100 |
結合結果
出力 4データ行
CSV結合結果.csv
ヘッダーは1行だけ
| 受注番号 | 店舗 | 金額 |
|---|---|---|
| A001 | 東京店 | 1200 |
| A002 | 大阪店 | 850 |
| A003 | 東京店 | 640 |
| A004 | 名古屋店 | 2100 |
列名と列位置を両方そろえる
「受注ID,店舗,金額」と「受注ID,金額,店舗」は同じ3列でも結合できません。2番目以降のCSVを1番目のヘッダーと照合し、違いがあれば実行前に直します。
- 選択できるのは2〜20ファイル
- 入力合計は50MiB以下
- 列名と列順は完全一致が必要
- 入力4件なら出力も4件。縦結合に除外はない
同じ列でも、文字コードと区切り文字は個別に確認する
7月がShift_JIS、8月がUTF-8でも、各入力の設定が正しければ1つの出力形式へそろえられます。プレビューが1列に見えるファイルは、結合前に区切り文字を直します。
LocaCSVで縦結合する
- 縦結合を開き、2〜20ファイルを選ぶ。
- 各ファイルの文字コード、区切り文字、列名、列順を確認する。
- 月順・店舗順など、出力したい順へファイルを並べる。
- 入力件数と出力件数が一致したら保存する。
定期処理ならPower QueryやPythonも候補になる
毎月同じフォルダーを取り込むならPower Query、ファイル名規則や検査を自動化するならPythonやPowerShellが向きます。LocaCSVは、インストールせず一度まとめたい場合や、CSVを外部へ送れない場合に使えます。キーで列を増やす処理には「キーで結合」を使います。