menu

WindowsバッチでCSVのファイル名を先頭項目に追加して1ファイルに統合する方法

公開日:2020年07月31日 カテゴリー:スプレッドシート, 開発

Windowsバッチで効率化

前回のWindowsバッチを使って複数ファイルを1つに統合する方法をご紹介しましたが、
今回はその方法を応用し、統合する各ファイル名をCSVの先頭項目に追加しつつ、
1つのファイルにまとめる方法をご紹介します。

バラバラのファイルをまとめて集計したいけど、1つずつ集計するのは大変な作業です。
そんな悩みを一瞬で解決できる方法ですので是非お試しください。

作成ファイルのイメージ

学年の成績データをサンプルに説明します。
フォーマットが共通のCSVデータであれば、商品データ、受発注データ、ログファイルなど、
どんなデータでも応用ができます。

統合するCSV

このようなクラスごとに成績データを1つのファイルにまとめます。
データにクラス名が無いため、このまま統合すると何年何組かわからなくなります。
そこでファイル名(ここではクラス名)を先頭に付けてまとめます。

■1-A.csv(1年A組の試験成績)1年A組.csv
・・・
■2-A.csv(2年A組の試験成績)2年A組.csv
・・・
■3-B.csv(3年B組の試験成績)3年B組.csv

統合ファイル

統合されるファイルはこのようになります。
ファイル名が先頭に追加されたCSVにまとめられます。

■matome.csv
統合イメージ

ファイルは記事の下からダウンロードできるようにしています。

 

Windowsバッチでファイル統合

それではやってみましょう。

Windowsバッチの作成(ソースのコピペ)

まずはファイルをまとめるためのBATファイルを作ります。
ソースをコピペして「matome.bat」で保存してください。
保存場所はまとめるファイルが配置されているフォルダです。

ポイント

  • CSVファイル、batファイルはShift-JISを前提にしています
  • CSVファイルがUTF-8の場合は「rem chcp 65001」のremを削除してください
  • echo ファイル名,!header!>>"!FILE_NAME!"」箇所が統合ファイルのヘッダー部分です
    【ファイル名】部分を任意の文字(クラス名)など変更して利用してください

 
作成後のイメージはこんな感じです。

Windowsバッチイメージ

バッチ実行

作成した「matome.bat」をダブルクリックで実行します。
フォルダにある全ファイルをまとめた【matome.csv】が作成されます。

統合csv出力イメージ

先頭にファイル名が追加されて1ファイルにまとめられていますね。

統合イメージ

 
統合方法は以上です。
ソースをコピペしてBATファイルを作るだけで簡単にできますね。

 

Googleスプレッドシートのピボットテーブルで平均値集計

Googleスプレッドシートのピボットテーブルを利用して、
今回1つにまとめたファイルからクラスごとの平均値を集計してみましょう。
この手順はエクセルでも同様に集計することができます。

スプレッドシートの準備

matome.csvの中身をスプレッドシートにコピペします。
コピペが終わったら、右下に表示される貼り付けアイコンから「テキストを列に分割」を選択します。

ピボットテーブル01

CSVファイルのカンマがセルに分割されて設定されます。

ピボットテーブル02

ピボットテーブルの作成

貼り付けたデータを全て選択状態にしてから、「データ > ピボットテーブル」を選択します。

ピボットテーブル03

「データの範囲(選択済み)」「新しいシート」を選択して、ピボットテーブルを作成します。

ピボットテーブル04

新しいシートに空のピボットテーブルテーブルが作成されました。

ピボットテーブル05

ピボットテーブルの平均値設定

続いてピボットテーブルエディタから平均を求める設定を行います。
行・値の設定から簡単にクラスごとの平均値を集計できます。

ピボットテーブル06

  • ”行”の設定
     ・【ファイル名】を追加
  • ”値”の設定
     ・「表示」に ”列” を選択
     ・【英語】【国語】【社会】【理科】【数学】の各項目を追加
     ・「集計方法」に ”AVERAGE” を選択
     ・「表示方法」に “デフォルト” を選択

ファイルがバラバラだと簡単にはできないですが、
Windowsバッチを利用することで簡単に平均値を求めることができましたね。

 

サンプルのダウンロード

今回利用したサンプルファイルはこちらからダウンロードしてご利用ください。
尚、3年B組はこだわりのファイルになっています。

サンプルファイルのダウンロード(CSV、BATファイル)

スプレッドシートのサンプル

うまくファイルをまとめることができましたか?
複数のファイルでバラバラになったファイルを集計するとき、
WindowsのBatファイルやスプレッドシートをうまく利用することで、
劇的に業務を効率化することができます。

 

弊社ではお客様の課題を解決や業務の効率化に全力で取り組んでいます。
コストを抑えた最適な方法をご提案致しますので、ご興味がありましたら
お気軽にお問合せください。