Pythonで複数のCSVファイルを1つにまとめる流れ。

  • URLをコピーしました!

複数のCSVファイルをPythonで1つのExcelファイルにまとめることができます。

その流れをまとめてみました。

目次

CSVファイルを1つにまとめたい

ネットで明細を見ることができる場合、ほとんどはCSVファイルをダウンロードできます。CSVファイルをダウンロードできないサービスは、利用しないほうがいいくらいです。

で、月ごとにダウンロードできる場合、1年間で12個のファイルです。これを1つのファイルにまとめたいというのが今回のはなし。

複数のCSVファイルのデータを1つのシートにまとめるというのは、過去に記事にしています。

複数のCSV(会計データ)やExcelファイルを1つにまとめる(結合する)方法 Excelの「取得と変換」 | GO for IT 〜 税理士 植村 豪 OFFICIAL BLOG

複数の会計データ(CSVファイル)を1つのシートにまとめる方法(バッチファイル編) | GO for IT 〜 税理士 植村 豪 OFFICIAL BLOG

やり方はいろいろありますが、今回はPythonを使って特定の場所(inbox)にあるファイルを月ごとにシートをわけて
Excelファイルで書き出す(CSVだとシート1つしか保存できないため)という前提です。

Pythonを利用するには

ても、Pythonをパソコンにインストールしないことにははじまりません。

Macならターミナル、Windowsならコマンドプロンプトという標準のアプリがあります。次のように入力してPythonがインストールされているかどうかを以下のように入力して確認してみましょう。

もし、インストールされていないようならインストールしましょう。(現状だと3.13.0)

Pythonインストール
https://www.python.org/downloads

そして、仮想環境(パソコンの環境とは別でPython用の環境)をつくっておきます。venv(ブイエンブ)というのがそうです。

あとは、今回のしくみをつくるのにデータ処理の「Pandas]とExcelに書き込むための「xlsxwriter」という2つのライブラリが必要になります。これもインストールしておきましょう。

そのうえで、以下のPythonのコードをテキストエディタ(メモ帳)などに書いていきます。コードはChatGPTに聞けば教えてくれます。エラーが出たときにはすぐに聞いてみましょう。

一応、わたしがChatGPTに教えてもらいながら、書いたコードを置いておきます。気になる方は開いてもらえれば。

今回書いたPythonコード

コードをテキストエディタに書いた後、保存しましょう。末尾を「.py」とします。たとえば、「CSV_mix2.py」のように。

ファイル名が「.py.txt」のように表示された場合は、ファイル名の変更で「.py」にすれば大丈夫です。

元データを置いておく場所を決めておきましょう。「パス」はファイルを右クリックしてoptionキーをクリックすると、パス名のコピーができます。それが「元のCSVファイルを置いてあるパス」になります。

CSVのファイル名は年月ごとに違うので「*(ワイルドカード).csv」としてcsvファイルであれば、すべて対象にしています。

ちなみに、このファイルをまとめても、年月順には並びません。なぜなら、「202411.csv」はファイル名で数字でなく文字列のデータとして認識されているからです。

なので、ファイル名から年月のデータを抽出して数字に変換、それを昇順に並べることになります。それを以下で書いています。

あとは、「xlsxwriter」で12個のファイルを読み込んで、「,(カンマ)」で区切ってデータリストにしておき、それをExcelファイルに書き込んで保存するという流れです。

Excelファイルの保存場所を「’Excelファイルを保存したい先のパス/mix_CSV.xlsx’」で決めましょう。パスの指定は先程と同じように。同じ場所なら全く同じパスで大丈夫です。

今回は同じ場所に「mix_CSV」という名前で保存します。

ターミナル(コマンドプロンプト)でPythonファイルが動くかどうかを試してみましょう。以下のように入力すると、

「mix_CSV.xlsx」というExcelファイルができているのがわかります。

ファイルを開くと、データも年月別にシート別に反映されているのがわかります。

ターミナルでPythonファイルを動かしてこの処理を完了するのにかかった時間は1秒です。動画にしてみました。シートのコピペでやっていたら、1秒は無理でしょうね。

Macでファイル検索してワンクリック

Macの場合、「Autometer」があるので、使ってみるのもおすすめです。

Finderのアプリケーションにある「Automator」から、Pythonファイルを動かすことができます。

「Automator」を起動して、「アプリケーション」をクリックし、「選択」をクリック(訂正したい場合には左下の「既存の…」をクリック)し、

「シェルスクリプトを実行」を検索しましょう。

白い枠のところにPythonを動かすコマンドを入力しましょう。

上手くいけば、下の画面にログが表示されます。

このアプリを検索で呼び出せるようにしておけば「c」→「Enter」で動かせます。

ということで、複数のCSVファイルをExcelファイルにまとめる流れ。これに限らず応用できることもあると思うので参考にしていただければ。

ChatGPTを上手く使うとコードの書き方やエラーの原因もわかりますし、何ができるかもわかってプログラミングのいい練習になります。

気になったものは、試してみましょう。

追記:2024/12/7 PDFファイルを分割するPythonはこちらの記事に書いてあります。
PythonでPDFファイルを分割する流れ。 | GO for IT 〜 税理士 植村 豪 OFFICIAL BLOG


【編集後記】
昨日は税理士業、セミナー企画、夕方に近所の体育館で開催されたパーソナル体験会に行こうとしたのですが予約がないといけなく、かつ電話というのであきらめました。その代わりに洗車を。夜はゼルダを長男(9)といっしょにやってクリアまで。予想通りの当たりゲームでした。

【昨日の1日1新】
※「1日1新」→詳細はコチラ
サントリー 天然水ヨーグルスカッシュ


この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次