我有一个庞大的目录列表。使用/home
作为当前目录,最高级别是年份。有七年:2010年,2011年,2012年,2013年,2014年,2015年和2016年。
然后每个月都有子目录,例如/home/2010/01
。当然,有十二个月,每一个标记为01,02,03,......,11,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))
它会正确列出所有文件。
您建议能够打开和阅读文件吗?
谢谢。
答案 0 :(得分:1)
您正在打开简单文件名,但在嵌套文件夹中找不到它。加入root:
import os
for root, dirs, files in os.walk("/home"):
for name in files:
f = open(os.path.join(root, name), 'r')
f.close