学习Python作为我论文的一部分,我完全是自学成才/不知道我在做什么;道歉,如果这是微不足道的。 在网上搜了一会儿,找不到一个“普通英语”的答案,我也无法弄清楚如何自己做。我通过潜伏从这个网站收集了许多知识,所以我希望你能帮忙。
我有一个文件夹,其中包含以年(2001年,2002年,2003年等)命名的文件夹,每个文件夹中都有一个编号的文件夹,用于每个月(01,02,03等)。其中每个都是我正在使用的csv文件。我已经设置了一个程序来加载它们并对它们进行分析,但它只适用于没有涉及子目录的情况。否则它告诉我该文件不存在。只需尝试让python查看这些子目录中的csv文件并通过该程序运行它们。
例如,这很好用:
top = r'C:\Users\Brock\Desktop\Masters_Python&Data\WRF_data\ctl\2006\01'
os.chdir(top) #change current directory to 'top' object
for root,dirs,files in os.walk(top, topdown = True):
for file in files:
#blah blah program goes here
然而,当我尝试运行时:
top = r'C:\Users\Brock\Desktop\Masters_Python&Data\WRF_data\ctl'
os.chdir(top)
for root,dirs,files in os.walk(top, topdown = True):
for file in files:
#blah blah program goes here
它告诉我第一个文件夹(01)中的第一个文件不存在。在“文件”一词之后还会在那里抛出一个随机的“b”:
FileNotFoundError: File b'1136072700_KSUN_wrf6x6.csv' does not exist
如果top类似于“r'C:\ Users \ Brock \ Desktop \ Masters_Python& Data \ WRF_data \ ctl \ 2006”,则会发生这种情况。
再次,如果这是一个愚蠢的问题我会道歉,但是我宁愿问一个知道而不是我的人,花一个星期的时间来摆弄某个地方。
干杯
答案 0 :(得分:0)
您需要使用glob
:
import glob
import csv
path = r'C:\Users\Brock\Desktop\Masters_Python&Data\WRF_data\ctl\*\*\*.csv'
for file in glob.iglob(path):
with open(file) as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
do_something_with(row)