2016-08-02 5 views
0

私にはたくさんのディレクトリがあります。 /homeを私の現在のディレクトリとして、最も高いレベルは年です。複数のファイルを別々のディレクトリに開いて読む

次に、毎月のサブディレクトリがあります。したがって、/home/2010/01のように7つの年があります:2010年、2011年、2012年、2013年、2014年、2015年および2016年。 01、02、03、...、11、12とラベル付けされた12ヶ月があります。

毎月、01、02、...と同じくらい月がある日数。

毎日、常に0700と呼ばれるサブディレクトリがあります。したがって、前の例に従えば、/home/2010/01/01/0700になります。

このようなディレクトリには、データ(表形式)のファイルがあります。ファイルの名前は、日付を表示します(例:/home/2010/01/01/0700/pnw_20100101_TG.geo)。

私は、そのファイルのデータを読み込み、それをpandasデータフレームにロードして異常値をフィルタリングしたいと考えています。私はそれを行う方法を知っていると思うので、それを分けてみましょうが、問題は私がファイルを読むことができないということです。 これは私がを試してみましたものです:

import os 
for root, dirs, files in os.walk("/home"): 
    for name in files: 
     f = open(name, 'r') 
     f.close 

しかし、私は、ファイルのオープンを関連付けられたエラーメッセージが表示されます:IOError: [Errno 2] No such file or directory: 'pnw_20100101_TG.geo'.それはファイルを認識しないようです。しかし、私がした場合、たとえば、print(os.path.join(root, name))は、すべてのファイルを正しく一覧表示します。

ファイルを開いて読み取るにはどうすればよいですか?

ありがとうございます。

答えて

1

単純なファイル名を開いていますが、ネストされたフォルダには見つかりません。ルートと結合してください:

+1

また、正規表現を使用して日付の指定と一致するかどうかにかかわらず、ルートフォルダをフィルタリングできます。 –

関連する問題