複数のCSVファイルを結合して1つにまとめる方法【Macでコマンドを使う】

ゆるふわメモ_アイキャッチ

よくやるけど毎回やり方を忘れるので、メモとしてここに書いておきます。

※すみません、Macのやり方のみです。Windowsの場合はどうやるのかわかりません。

準備

csvファイル結合作業用のフォルダをつくる

1つにまとめたいcsvファイルが、ダウンロードフォルダに入っている状態からスタートしたいと思います。

このダウンロードフォルダに、新しいフォルダを作成しましょう。

新しいフォルダの名前は、「matomecsv」にしておきます。別に何でもいいです。好きな名前にしてください。

今つくったmatomecsvフォルダに、1つにくっつけたい複数のcsvファイルをすべて移動させて入れておきます。

ターミナルを立ち上げて、csvファイル結合作業用のフォルダに移動する

それでは、ターミナルを立ち上げてください。

そこからダウンロードフォルダに移動します。

cd Downloads

今回は作業用フォルダ(matomecsv)をそのダウンロードフォルダの中につくったので、さらに移動します。

cd matomecsv

ここまでできたらOK!

ヘッダーが無い場合

簡単です。くっつけるだけ。

まとめたcsvファイルの名前は、今回は「matome_2023」にしておきます。

cat *.csv > matome_2023.csv

これだけ! できましたか?

ヘッダーがある場合

これは困りました。

上記のやり方でくっつけちゃうと、ヘッダーとして入っていた行が複数個入ってきてしまいます。

ヘッダー分の行は1つだけで、残りは削除したいのです。

自力ではやり方がわからなかったので、調べたところ、下記の方法でスムーズにできるみたいです! 神!

上記を参考にさせてもらいました。

これを実行すれば欲しいものが手に入ります。

まとめたcsvファイルの名前は、今回は「matome_2023」にしておきます。

awk 'NR==1 || FNR!=1' *.csv > matome_2023.csv

出てきたファイルの中身を確認してみてください。ヘッダー分の行が1つだけ残っていて、ほかは削除されています。すごい。ありがたや……!