はじめに
今回は、osモジュールを使ったパス結合について扱います。osモジュールに関しては過去に投稿したことがありますが、今回はパス結合に特化した内容にします。パスやファイル名を結合させたい、あるいは、いまいるディレクトリにファイルを追加したい、ということありますよね。詳しく見ていきましょう。
過去のosモジュールに関する投稿はこちらを参照ください。
利用シーン
データ分析をするときに、入手したデータは「C:\python\data」配下に、分析や集計した結果のファイルは「C:\python\output」配下に出力する、のように入力ファイルや出力ファイルを管理する方法を決めていることがほとんどだと思います。毎回このパスを打つのが面倒くさい、と思ったことはありませんか?そんなときには、パス結合を利用するとよいでしょう。
上記のようなルールで入力ファイルと出力ファイルを保存するディレクトリが決まっているなら、次のように変数を定義しておくと便利です。
INPUT_DIR = 'C:\python\data\ OUTPUT_DIR = 'C\python\output\
このようにはじめに定義をしておけば、入力ファイル「sample.csv」を次のように読み込むことができます。
sample_data = pd.read_csv(os.path.join(INPUTR_DIR,'sample.csv'))
毎回、パスを意識することなく、ファイル名さえ意識しておけばよいので便利ですね。出力ファイルに関しても同様です。次のように「sample_output.csv」を
出力することできます。
sample_data.to_csv(os.path.join(OUTPUT_DIR,sample_output.csv))
出力先が作業ディレクトリと異なる場合に、いちいちパスを書かなくてよいので便利ですね。
まとめ
いかがでしたか?ちょっとしたことですが、パスが長かったり、複数のファイルがあって1つずつ処理をしたいときなどには、今回のように共通部分を変数に代入しておき、パス結合すると楽ですね。ちなみに変更する予定のない変数は、今回のように大文字で書く、という慣習があります。これも覚えておくとよいですね。
コメント