#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
- Если я запущу это в papermill, будет ли он знать, какой путь к файлу я имею в виду, или лучше всего использовать os.path?
- Нужно ли указывать местоположение вывода в качестве пути к csv-файлу, который создается/добавляется?
- Нужно ли мне использовать
if name == __main__
для этого? Я все еще немного не понимаю, как использовать его в целом.
Спасибо!
Комментарии:
1. Вы можете добавить текущую дату и время к своему имени файла, тогда оно не будет перезаписано и не возникнет проблем с добавлением. Объедините их позже… Я бы предложил
YYYY-MM-DD HH:MM:SS - scrapes.csv
формат типа, чтобы они были естественным образом отсортированы