У меня есть 11 файлов в моем каталоге, который начинается с 'case-export-'.Для каждого из этих файлов я хочу извлечь только 5 столбцов, как указано в переменной 'initial_columns', сохранить результаты в фрейме данных с именем 'whole_file' и записать фрейм данных 'whole_file' в CSV.Поскольку у меня есть 11 файлов, которые соответствуют 'case-export-' в моем каталоге, у меня должно быть 11 CSV, сгенерированных моим сценарием.
Когда я запускаю приведенные ниже сценарии, у меня генерируется только 1 CSV, и этот CSV содержит данные из самого последнего файла, прочитанного циклом For.
date = dt.datetime.today().strftime("%m_%d_%Y")
directory = '/Users/myname/Downloads/'
initial_columns = ['Case #','Case Subject','Created At','Labels','Body']
for file in (glob.glob(directory + 'case-export-*')):
whole_file=pd.read_csv(file, usecols = initial_columns, encoding='ISO-8859-1', index_col=None, low_memory=False).replace(np.nan, 'blank', regex=True)
whole_file.to_csv(directory + 'case_export_trimmed_' + date + '_' + str(now.hour) + '_' + str(now.minute) + '_' + str(now.second) + '.csv')
Я знаю, как обойти это, добавив пустой фрейм данных и затем конкатенируя каждый «целый_файл» к фрейму данных, когда он проходит цикл.Я попробовал это, и это сработало отлично.Однако я пытаюсь понять, почему мой оригинальный скрипт, который я показал выше, не работал должным образом и почему он выдал только 1 CSV вместо 11. Пожалуйста, сообщите.