CSVやTXTなど複数のファイルを結合してまとめる方法

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

【期間限定】プライム会員ならクーポンコードで4,000円OFF!

仕事などで、システムの売上データとか、トランザクションデータとか、データ処理などで大量のCSVファイルやTXTファイルを1つのファイルにまとめたい時ってあるじゃないですか。

1回1回ファイルを開いてコピー&ペーストとか大変ですよね…。そんな面倒な事はやってられん!結合するフリーソフトとかないのか?と思ったら、Windowsのコマンド使えば簡単にできてしまいました。

今回はCSVやTXTなどのファイルを簡単に1つのファイルを結合してまとめる方法をご紹介します。

スポンサーリンク

複数のファイルを1つのファイルにまとめるには

今回ご紹介する方法で、複数のファイルを1つのファイルに結合できるのは、CSV(カンマ区切り)、TSV(タブ区切り)、TXT(テキスト)ファイルになります。Excelファイルで同じことをやろうとしてもこの方法は使えませんので注意してくださいね。

今回は2種類のやり方をご紹介しています。

  • バッチファイル(*.bat)を作ってやる方法
  • Windowsのコマンドプロンプトからやる方法

バッチファイル(*.bat)を作る方が簡単だったので、そちらからご紹介していきま~す(*^^*)

CSVファイル結合前の準備

とりあえずやっておく事として、同じフォルダに結合したいCSVファイルたちを入れておいてください。

CSVファイル結合前の準備

そしてサブフォルダとして、空の「all」を作っておきます。このサブフォルダには何もいれないでください。

 

バッチファイル(*.bat)を作ってCSVファイルを結合する方法

バッチファイル…、拡張子が*.batのファイルに、ファイル結合の命令を書いておいて、実行させるやり方になります。

ウィキペディア的にいうと、

バッチファイルを実行すると、シェルプログラム(一般に COMMAND.COM や cmd.exe )がそのファイルを読み、その中のコマンドを(通常)一行ずつ実行する。 バッチファイルはUNIX系オペレーティングシステムのシェルスクリプトに相当する。 DOSのバッチファイルの拡張子は . BAT である。バッチファイル-Wikipedia

こんな感じで説明されていますので、

なんかヤバいファイルを作る感じで、一見「うっ…」となりそうですが、簡単にいえば、パソコンに「これやって!」という命令文を書いておいて、ダブルクリックすると命令実行してくれるというもので、そんな怖いものではありませんw

準備が整ったら、バッチファイルを作ります。

Windowsのメモ帳やテキストエディタなどを起動します。

そこに以下のようにコマンドを入力します。

copy *.csv all\merge.csv

 

CSVファイル結合のコマンド

このコマンド(命令文)の意味は、同フォルダ内のCSVファイル全てを「all」サブフォルダの中の「merge.csv」に結合するという命令になっています。copy  (CSV複数ファイル選択)→ (結合したいファイル名と場所)

という事ですね。なお、結合していく順番はファイル名順になります。201601~201612のファイル名でしたら、201601から順にファイルを読みデータをまとめていきます。

結合する書き出し用のファイル名は変更しても大丈夫ですが、同一フォルダには絶対置かないようにしてください。

じゃないと、そのまとめたファイルも読み出してしまいデータが重複してしまいます。

バッチファイルにコマンドを入力したら保存

merge.batなど、ファイル名は何でもいいのですが、拡張子をbatにして保存します。

スポンサーリンク
バッチファイルでCSVファイルを結合する

こんな感じのアイコンになります。(Windows10の場合です)

それをダブルクリックすると、コマンドが実行され、「all」フォルダの中に merge.csvというファイルが出来上がっているはずです。

Windowsのコマンドプロンプトからやる方法

バッチファイルを作ってやるほうがわかりやすいのでおすすめですが、コマンドプロンプトを使ってやる方法もご紹介しておきます。私も最初はこちらのやり方でやっていました。

コマンドプロンプトを起動

コマンドプロンプトは左下のアプリを探す入力バーに「cmd」と入力するか、

Windowsシステムツールの中にありますので、そこから起動します。

Windowsコマンドプロンプトの場所

次に、CSVファイルが置いてあるフォルダまで移動します。

ファイルは、できればわかりやすい場所に置いておく方が良いです。

例では、Dドライブのtemp01フォルダにいれていますので、そこまで移動します。

CドライブからDドライブに変更するには「d:」と入力します。

cd d:\とか入れても一向に移動できませんので注意です。(中途半端に知っていると間違います^^;)

Dドライブに変更コマンド

Dドライブに移動できたら、

cd temp01

として、CSVファイルが入っているフォルダに移動します。 

 

そして以下のようにコマンドを入力します。

copy *.csv all\merge.csv

そうすると、以下のようにファイルが結合される処理が実行されます。

WindowsコマンドプロンプトでCSVを結合する まとめたいファイルたちがずらずらっと表示され、最後に 1個のファイルをコピーしました。と出れば完了です。

 

TSV(タブ区切り)を結合する場合

copy *.tsv all\merge.tsv

TXT(テキストファイル)を結合する場合

copy *.txt all\merge.txt

TYPEコマンドでファイルを結合する方法

なお、このCOPYコマンドをやる方法はTYPEコマンドを使う事でも同様の処理が可能です。 WindowsのTYPEコマンドはファイルの中身を表示するという命令になりますが、その内容をファイルに書き出しという処理ができます。 TYPEコマンドの場合は、TYPE (まとめたいファイル)> (書き出しファイル)と、「>」をつけるのを忘れずに。

type *.csv > all\merge.csv
TYPEコマンドでファイル結合する方法

まとめ

大量のCSVファイルやTSVファイルなどを1つのファイルにまとめたい!という時に使えるコマンドのやり方をご紹介しました。

いちいちコピペをするのは大変ですし、どこまでやったっけ?とわからなくなったりもするので、10個以上ある場合にはこちらのやり方覚えると楽ですよ^^

 

スポンサードリンク



2017年やり残したことはありますか?



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

コメントを残す

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