Как запустить код на основе имени файла в Python?

#python #pandas

#python #pandas

Вопрос:

На данный момент у меня есть папка, содержащая различные файлы, над которыми мне нужно запустить некоторый код и преобразовать в csv. Я пытаюсь посмотреть, есть ли способ проверить имя файла в папке, а затем выполнить соответствующий код. Я пытался:

 for xlsb_file in pathlib.Path('Directory Path').glob('Filename*.xlsb'):
RUN CODE
convert dataset into a csv
  

По какой-то причине этот код, похоже, выполняется без каких-либо ошибок, но файл csv не выводится. В идеале я хотел бы, чтобы при запуске кода код определял имя файла, запускал соответствующий код, а затем выдавал csv.

Есть ли какой-нибудь способ сделать это? Любая помощь приветствуется!

Комментарии:

1. Может ли решением быть указание имени каталога через аргумент командной строки?

2. Конечно, вы можете проанализировать имена файлов и предпринять соответствующие действия. Какой у вас вопрос по этому поводу?

Ответ №1:

Вы можете попробовать:

 import os

def convert_to_csv(filename):
    """this function converts and save a csv version of the file"""

def convert_this_file(filename):
    """this functions checks if a file should be converted"""
    return filename.endswith('.xlsb')

for root, folders, files in os.walk('Directory Path'):
    for file in files:
        filename = os.path.join(root, file)
        if convert_this_file(filename):
            convert_to_csv(filename)
    break
  

Удалите ‘break’, если вы хотите, чтобы код рекурсивно сканировал подкаталоги