こんにちはーー
趣味でPytthonのデータ処理を勉強しているロペです。
今回は、複数フォルダや深い階層のエクセル/CSVファイル名を一括で取得するプログラムを作成したので記事にします。
この記事が誰かの役に立てば幸いです。
概要
まず、やりたいことの概要を説明します。
下のようにtestのフォルダ内に複数のサブフォルダがある、


それぞれに↓のように複数の.xlsファイルが格納されており、
全てのパスとファイル名を取得します。

作成したプログラムを実行すると、
↓のようにファイル名を含めた全てのパスを取得することができます。


コード
では、作成したコードの説明をします。
(↓が作成したコードです)
import os import glob for get_path, get_folder, get_file in os.walk('test'): for fol in get_folder: path = './test/'+fol+'/' files = glob.glob(path+'*.xls') files_str="".join(files) print(files_str)
import os
import glob
のモジュールを使用しました。
ポイントは
os.walkでサブフォルダ内を全て取得して、
globで.xlsのフォルダを全て取得しています。
最後に.joinで文字列に変更して出力しています。
以上になります。
今回作成したコードを利用することで、複数の処理対象のファイルを指定できるようになると思ので、色々試して使用していこうと思います!
ではまた!

コメント