簡體   English   中英

如何在python中自動更改包含日期的文件名

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM