python - 如何在python中自动更改包含日期的文件名
问题描述
我正在尝试使用python自动将数据从一个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)
推荐阅读
- python-3.x - 如何检查向量何时在python中转了一圈
- for-loop - 为什么for循环的第二次迭代不等待用户输入
- angular - 如何在Angular 8中显示所选项目
- azure - 如何在 c# 中以编程方式获取 Azure 函数执行的计数?
- java - org.springframework.web.multipart.MultipartException:当前请求不是多部分请求 spring boot
- .htaccess - 使用 .htacess 将 url 路径从路径重定向到另一个路径
- r - 如何编写for循环以计算特定行中的频率
- web-scraping - 如何使用python网络抓取提取每个产品的标题
- python - 仅加入字符串列表的一部分取决于它在 python 中的值
- java - 单击下一步按钮时,JSP 测验不会转到下一个问题