複数CSVファイルを一瞬で1つのファイルに結合してまとめる方法

公開日: 

複数のCSVファイルを1つに結合する方法
ネットショップの運営する中で扱う機会が多いファイル形式として画像ファイル、HTML、CSS、JS以外にあるのが、CSVファイルではないでしょうか。商品の更新にCSVを準備してアップロードしたり、売上情報をCSVファイルとしてダウンロードして集計に活用したりいろいろな場面で登場してくるのではないでしょうか。

CSVファイルについて以前の記事で編集ソフトについてまとめています。

また、他の記事でCSVファイルを分割する方法について紹介しました。

本日は、逆に複数のCSVファイルを1つに結合する方法について調べてみたので紹介します。

スポンサードリンク

複数のCSVファイルを1つに結合する方法について調べてみた

手作業でファイルを1つ1つ編集ソフトで開いてコピペするなどする方法が一番簡単ですが、ファイル数が多かったり、定期的に必要な作業であれば、もっと簡単に済ませたいですよね。そこで、複数のCSVファイルを結合する方法を調べてみました。

最初は、フリーソフトとか探せばあるかなと思って探してみました。似たようなものはありましたが、思っているのと少し違うといった感じです。次に思いついたのが、ExcelでCSVファイルを読み込むことができるのでExcelのマクロを使ってやれば出来るのではと考えました。CSVファイルを1つ開いて読み込んで、最後のセルの続きから次のCSVを開いて読み込んでと繰り返し処理をマクロで作成すればいけそうな気もしましたが、イヤイヤそんなものをわざわざ作成しなくても、もっと簡単な方法が見つかりました。

コマンドプロンプトで結合する

コマンドプロンプトでCSV結合
windowsに標準で搭載されているコマンドプロンプトって使われたことはありますか?実は、コマンドプロンプトを使ってCSVファイルを結合することができます。

試しに日本郵便からダウンロードできる郵便番号のCSVファイルを使って結合をやってみましょう。
郵便番号データダウンロード

四国にある都道府県の郵便番号ファイルをダウンロードしてみました。
Cドライブに「data」フォルダを作成してその中に保存しているとします。結合したファイルを出力する場所としてdataフォルダ内に「結合結果」フォルダも作成しておきます。

都道府県ごとにCSVファイルがわかれている状態です。

都道府県ごとのCSVファイル

都道府県ごとのCSVファイルの中身
これらのCSVファイルを1つにまとめて、郵便番号(四国).csvとしたいと思います。ファイル数が数個であれば、手作業でファイルを開いてコピペして1つのファイルにまとめることは、それほど大変ではありませんが、数十、数百のファイル数となってくるとちょっと考えてしまいますよね。

まずは、コマンドプロンプトを起動します。
コマンドプロンプトの起動

コマンドプロンプトを起動したら、下記のようにコマンドを入力します。

cd c:\data    ←1行入力したらENTER
type *.csv > c:\data/結合結果\郵便番号(四国).csv

コマンドを簡単に説明すると、1行目 cd c:\dataで処理を行いたいフォルダに移動しています。今回はCドライブにdataフォルダを作成しているのでc:\dataとなっていますが、実際に作業する環境によって移動先は変わってきます。

2行目がCSVファイルを結合するコマンドを入力、実行しています。
typeが結合するコマンドで、*.csvがどのファイルを結合するか指定しています。ここでは、dataフォルダ内にあるすべてのcsvファイルを指定しています。

フォルダ内にあるすべてのCSVファイルを対象とすることができるのがポイントではないでしょうか。ここでは、CSVファイルは4つしかありませんが、すべての都道府県47個のファイルがあっても同じですし、数百個のファイルがあったとしてもすべてのファイルを指定することができます。

> から右側が結合したファイルをどこに出力するのかを指定しています。ここでは、さきほど作成した結合結果フォルダ内に郵便番号(四国).csvというファイル名で出力するようにしています。

結合したCSVファイルが生成
コマンドプロンプトからコマンドを実行すると出力場所として指定したCSVファイルが生成されます。

結合したCSVファイルの中身

CSVファイルを開いてなかを確認してみると、別々のファイルだった都道府県ごとの郵便番号が1つのファイルにまとまっていることがわかります。

バッチファイルを作成してワンクリックで結合

コマンドプロンプトで結合する方法の応用になるかもしれませんが、バッチファイルを作成してワンクリックで結合させることも可能です。定期的に行う作業であれば、都度コマンドプロンプトを開いてコマンド入力して実行させるのも手間になってしまいますが、バッチファイルを作成しておけば、結合したいCSVファイルを1つのフォルダに集めてから、バッチファイルをダブルクリックで実行するだけで、結合されたファイルをが作成完了なんてこともできてしまいます。

さきほどの、郵便番号のCSVを結合する処理をバッチファイルを作成して同じように結合させてみましょう。

メモ帳などのテキストエディタを開きます。
メモ帳アイコン

下記を入力してください。

type C:\data\*.csv > C:\data\結合結果\郵便番号(四国).csv

メモ帳でコマンド入力しておく
入力できたら、保存をしますが注意点としては保存するときに、拡張子 .batで保存する必要があります。今回はコマンド内にファイルの場所等を指定しているので、作成したバッチファイルはどこに保存しても問題ありません。

batファイルをダブルクリックで実行
さきほどコマンドプロンプトで行った処理をバッチファイルとして作成しました。あとは、バッチファイルをダブルクリックするだけでCSVファイルの結合処理が実行されます。

今回の例だと、定期的に最新の郵便番号のファイルを扱っていると考えたときに、最新の郵便番号をダウンロードした後にファイルを毎回結合する必要がありますが、バッチファイルを作成しておけば、ダウンロードしてバッチファイルをダブルクリックするだけで結合したCSVファイルが完成といった使い方ができそうですね。

CSVファイルを結合する場面はネットショップ運営の中ではあまりないかもしれませんが、知っておいて損はないと思います。定期的に発生する作業であれば、ぜひとも簡略化するのに活用してみてください。






Your Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

スポンサードリンク

記事が気に入ったらシェアお願いします

PAGE TOP ↑