Papermill/Cronjob для создания/добавления CSV из записной книжки Jupyter без перезаписи CSV

#python #csv #filepath #autorun #papermill

Вопрос:

Я новичок в кодировании, и у меня есть несколько концептуальных вопросов, по которым я мог бы использовать рекомендации.

Я создаю веб-страницы, которые выводятся в csv, который добавляет строки, если csv уже существует, когда я запускаю записную книжку. Я планировал использовать cronjobs с papermill для автоматического запуска очистки, но я беспокоюсь, что мне может не хватать кода, который гарантирует, что я не перезапишу текущий csv. Я думаю, что мне, возможно, также потребуется реализовать if name == __main__ , но я не могу понять, как это применяется.

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

 file_name = Path("scrapes.csv") 

if file_name.exists():  # if file already exists in directory
    print('file exists, now appending')
    
    # append new scrapes to the file without header row
    df.to_csv('scrapes.csv', mode='a', index=False, header=False) 

else: # if file does not exist yet
    print('file does not exist, now creating')
    df.to_csv('scrapes.csv', index=False) #create new file 
 
  1. Если я запущу это в papermill, будет ли он знать, какой путь к файлу я имею в виду, или лучше всего использовать os.path?
  2. Нужно ли указывать местоположение вывода в качестве пути к csv-файлу, который создается/добавляется?
  3. Нужно ли мне использовать if name == __main__ для этого? Я все еще немного не понимаю, как использовать его в целом.

Спасибо!

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

1. Вы можете добавить текущую дату и время к своему имени файла, тогда оно не будет перезаписано и не возникнет проблем с добавлением. Объедините их позже… Я бы предложил YYYY-MM-DD HH:MM:SS - scrapes.csv формат типа, чтобы они были естественным образом отсортированы