Как я могу проверить имена файлов с помощью скрипта python на python?

#python #django #csv #file

Вопрос:

Я использую скрипты python для сохранения веб-данных в CSV-файлах. Имя CSV-файлов является динамическим, например, fl_todays_date.csv, где сегодняшняя дата является датой, полученной с веб-сайта, очищенного. После сохранения данных в CSV-файле я затем импортирую данные CSV в свои модели Django, используя весь сценарий. Но проблема, с которой я сталкиваюсь, заключается в том, как я могу проверить, присутствуют ли данные из вчерашнего файла уже в базе данных, прежде чем импортировать сегодняшние данные.

Моя файловая структура выглядит следующим образом:

 csv_files
    fl_some_pervious.csv
    fl_yesterday.csv
    fl_today.csv
 
 script
    scrape.py
    db_upload.py
 

Я попробовал что-то вроде этого:

 def run():
    file = open('./src/csv_files/floor_sheet_data.csv')
    read_file = csv.reader(file)
    
    count = 1

    for record in read_file:
        if count==1:
            pass
        else:
            try:
                obj = MyModel.objects.get(org_symbol=record[4], contract_no=record[5])
            except ObjectDoesNotExist:
                
                org = AnotherModel.objects.get(symbol=record[4])
                MyModel.objects.create(org=org, s_n=record[1],contract_no=record[2],date=record[3],buyer_broker=record[5],seller_broker=record[6],quantity=record[7],rate=record[8],amount=record[9])
        count  = 1
 

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

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

1. os.listdir() можно использовать для перечисления всех файлов в указанном каталоге. Затем вы можете отфильтровать их по расширению

2. @loonatick Я могу перечислить файлы, но я хочу получить доступ к именам файлов и проверить, присутствуют ли даты в имени файла в базе данных или нет.

3. Итак, что-то вроде регулярных выражений ?