[英]How do I change file name that contains a date automatically in python
我正在嘗試使用python將數據從一個Excel文件自動復制到另一個Excel文件,目前,我每天早上必須手動更新excel文件名中的日期。 有沒有一種方法可以自動更新excel文件名中的日期。 我對任何形式的編程都是新手,試圖學會保持工作。
我試圖使用時間日期函數並將其聲明為變量並將其復制到代碼中,但是沒有運氣
import datetime
Filedate= (datetime.date.today()-datetime.timedelta(1))
exceldate= Filedate.strftime("%Y",)+Filedate.strftime("%m",)+Filedate.strftime("%d",)
import pyexcel as p
p.save_book_as(file_name="Q:\Valuations\Currency Options\YieldX Daily Statsexceldate.xls",#CHANGE DATE #manual entry.
dest_file_name='YieldX Daily Stats20190522.xlsx')#CHANGE DATE manual entry
我的方法是將文件名拆分為包含日期和其余部分的部分,然后將日期替換為當前日期。
import os
import datetime
import re
# get xls files
xls_files = [file for file in os.listdir(os.getcwd()) if file.endswith('.xls')]
# get current date
now = datetime.datetime.now()
# change names
for item in xls_files:
# split name and date part
name_parts = item.split('.')
get_date = re.findall('\d+-\d+-\d+', name_parts[0])
name_string_part = name_parts[0].replace(get_date[0], '')
# create new name
new_name = name_string_part + str(now.day) + '-' + str(now.month) + '-' + str(now.year) + '_' + '.xls'
# rename file
os.rename(item, new_name)
我相信您要嘗試做的是,每天打開一個excel文件,並將其文件名重命名為當前日期,以前的excel文件的日期為昨天。
import datetime
import pyexcel as p
yesterday = (datetime.date.today()-datetime.timedelta(1)).strftime("%Y%m%d")
today = datetime.date.today().strftime("%Y%m%d")
p.save_book_as(file_name="Q:\Valuations\Currency Options\YieldX Daily Stats" + yesterday + ".xls",
dest_file_name='YieldX Daily Stats' + today + '.xlsx')
上面的代碼在執行時會將昨天創建的.xls
文件(帶有其時間戳)的名稱更改為當前日期。
例:-
如果昨天存在一個名為YieldX Daily Stats20190530.xls
的文件,則今天其名稱將被修改為YieldX Daily Stats20190531.xls
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.