複数、階層があるフォルダのcsvファイルを全部取得する【python】

目次

環境

Windowsの仕様

エディション:Windows 10 Pro

バージョン:20H2

経緯

pythonを使っていて、glob関数でフォルダの中身の中にあるcsvファイルを全部取得しようとしたら、そのフォルダが何層にもなって、さらにほかのフォルダにもcsvファイルが存在していた。

なので、今回は複数、階層があるフォルダのcsvファイルを取得する方法を勉強しました。

パスを「*」でつなぐ

階層に合わせて、「*」でつなぐとできました。

「data」というフォルダの中にまた、フォルダが2つあって、そのフォルダの1つにはcsvファイルが入っている。

もう片方のフォルダの中にはまた、フォルダがあって、その中にcsvファイルがあったとします。文字すると難しいですね(一一”)

プログラムを書きます。

from glob import glob

data3 = glob('./data/**/*.csv') 
data4 = glob('./data/***/**/*.csv')

1行目、globをimportしています。

2行目、ここで3階層目にあるcsvファイルを取得しています。

3行目、 ここで4階層目にあるcsvファイルを取得しています。

こんな感じで取得することができました。階層の数え方が違うかもしれません。

とりあえず、「*」で階層を伸ばすと、いけますよ。

失敗談

パスをコピぺしたら、「\」になって、「¥」ボタンを押しても、「\」 になるということに悩みました。

「\」を「/」に変えると、うまくいきましたよ。

ここまで読んでいただきありがとうございました。

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

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次