L oop через файлы Excel в подпапках - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь l oop через мои файлы в разных программах просмотра, первая часть кода работает:

   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: [Errno 2 ] Нет такого файла или каталога Я не понимаю проблему или как ее исправить. Спасибо

1 Ответ

0 голосов
/ 13 января 2020

Трудно сказать, потому что вы могли потерять часть форматирования при копировании и вставке, но убедитесь, что после

for file_name in my_files:

все, что вы хотите в для для l oop, должно иметь отступ с вкладками или пробелами на том же уровне.

распечатайте файл mosul_file после его выделения, чтобы увидеть, так ли это, и затем сделайте соответствующий отступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...