循环浏览子文件夹中的Excel文件

时间:2020-01-13 15:29:43

标签: python excel pandas

我正在尝试遍历不同文件夹中的文件 代码的第一部分正在工作:

   from os import walk
   import pandas as pd 


   path = r'C:\Users\Sarah\Desktop\test2'
   my_files = []
   for (dirpath, dirnames, filenames) in walk(path):
   my_files.extend(filenames)

   print(my_files)

该代码使用我的子文件夹成功打印了所有文件 但是,当我尝试提取excel列中的不同文件并将它们保存在目录中时,问题就出在这部分

 all_dicts_list = []
 for file_name in my_files:

#Display sheets names using pandas
pd.set_option('display.width',300)
mosul_file = file_name
xl = pd.ExcelFile(mosul_file)
mosul_df = xl.parse(0, header=[1], index_col=[0,1,2])

#Read Excel and Select columns

mosul_file = pd.read_excel(file_name, sheet_name = 0 , 
index_clo=None, na_values= ['NA'], usecols = "C , F ,G")

#Remove NaN values

data_mosul_df = mosul_file.apply (pd.to_numeric, errors='coerce')
data_mosul_df = mosul_file.dropna()

#Save to Dictionary

datamosulx = data_mosul_df.to_dict()
all_dicts_list.append(datamosulx)

所有词典都将在all_dicts_list中

我收到错误消息 FileNotFoundError:[错误2]没有这样的文件或目录,我不了解问题或如何解决。 谢谢

1 个答案:

答案 0 :(得分:0)

很难说,因为您可能已经失去了某些复制和粘贴的格式,但是请确保在

之后
for file_name in my_files:

任何需要在for循环中使用的制表符或空格都必须缩进同一级别。

在分配mosul_file后打印出它,以查看是否可能,然后适当缩进。