はじめに
先日、以下のTweetを見かけました。
現実、分析する前の手間が多いなと感じていますので、本当にそうだな・・・と思いました。
この手間のひとつに データ統合 があります。
例えば、販売実績ファイルが月毎に生成されていたり、生産実績ファイルがロット毎に生成されていたりという場合、ファイルの単位が分析の単位と一致していなければ、データを統合しなければなりません。
この記事では、GoogleColabでファイル統合を実行する方法について触れたいと思います。
実行したこと
- Google Colabで実行
- 同じファイルフォーマット(この記事ではcsv)の複数ファイルをフォルダに収めた後、フォルダをGoogleDriveにアップロードし、フォルダ内のcsvファイルを1つのファイルに統合し、保存するというものになります。
複数のcsvファイルを格納したフォルダをGoogleDriveにアップロード
GoogleDriveへのアップロードは、以下のサイトでわかりやすく説明されています。
ファイル統合の実行
フォルダ名称の指定
最初に、統合したいファイルを格納したフォルダの名称を指定します。
#@title Google Colab のマイドライブに保存したフォルダ名を指定
Folder_name = '/content/drive/MyDrive/輸送実績明細(2018-2021)' #@param {type:"raw"}
GoogleColabのセル表示は以下となります。
GoogleDriveの マイドライブ に格納した📁のパスは、/content/drive/MyDrive/ となります。
上記の例では 📂名称を輸送実績明細(2018-2021) と記述していますが、GoogleDriveにアップロードした📂名称 に書き改めればOKです。
GoogleDriveへのアクセス許可
#@title Googleドライブを Google Colab にマウント
from google.colab import drive
drive.mount('/content/drive')
上記を実行すると、以下の表示が現れますので、[Googleドライブに接続] をクリックしてください。
次にアカウント選択画面が現れますので、アカウントを選択し、リクエストに関する確認も許可してください。
GoogleDriveにアクセスできれば、以下のようにGoogleColabの画面表示左のファイルに drive が表示されます。MyDrive 内に収めたフォルダもここから確認できます。
フォルダ内のファイルリスト確認
#@title フォルダ内のファイルリストを表示(マウント時のみ)
import os
path = Folder_name
print(os.listdir(path))
これを実行することにより、フォルダ内のファイルリストが表示されます。
例えば以下です。
['実績明細一覧2018r1.csv', '実績明細一覧2019r1.csv', '実績明細一覧2020r1.csv', '実績明細一覧2021r1.csv']
フォルダ内のファイルの統合
#@title ファイル結合 ⇒ 保存(ファイル名はmerged_data.csv)
import pandas as pd
import glob
# csvファイルフォルダのパスと保存パス
path = Folder_name
path_after = '/content/'
# パスの末尾にスラッシュ
if path[:-1] != "/":
path = path + "/"
# csvファイルリスト取得
csv_files = glob.glob(path + '*.csv')
# csvファイルをmerge
merged_file = pd.concat( [ pd.read_csv(c) for c in csv_files ] )
merged_file.to_csv(path_after + 'merged_data.csv', index=False, encoding='utf_8_sig')
print('complete.')
実行すればファイルが統合されます。
統合ファイル merged_data.csv は、GoogleColabの画面表示左のファイルに表示されますので、アクセスすることができます。
統合ファイルをローカルに保存
#@title 輸送区分結果 csv出力(☑ =実行)
merged_csv_output = True #@param {type:"boolean"}
#csv出力
if merged_csv_output == True:
from google.colab import files
files.download('merged_data.csv')
先の通り、統合ファイル merged_data.csv は、GoogleColabの画面表示左のファイルに保存されますが、ローカルファイルへの保存も実行できるようにしたものです。
☑ で実行しますので、こちらは任意となります。
最後に
上記コードは、GoogleColabのフォームを利用していますので、GoogleColabのセル表示は以下の通り、シンプルです。
手作業よりも圧倒的に楽に実行できます。