You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

每次运行Python脚本时如何生成新Excel文件而非覆盖原有文件

Python按月生成不覆盖的Excel文件实现方案

你当前的代码逻辑已经实现了按月份命名文件的核心需求,只要修正两个问题就能正常运行:

  1. 直接使用open()创建.xlsx后缀文件属于无效操作,xlsx是二进制格式的表格文件,直接用文本模式写入会导致文件损坏无法打开,需要用pandas、openpyxl这类专业处理Excel的库导出清洗后的数据
  2. 现有文件名仅包含月份标识,跨年运行时会出现同月份文件覆盖的问题,建议加上年份标识避免冲突

优化后可直接运行的代码示例

import os.path
from datetime import datetime
import pandas as pd

# 生成带年月的时间标识,格式可自定义
# 若需要英文月份全称可替换为 '%Y_%B',生成类似2024_June的标识
curr_date = datetime.strftime(datetime.now(), '%Y_%m')

save_path = 'T:/1. 2021 Timesheets n Bandwidth Tracker/Project Database/RA Copy/'
# 自动创建不存在的保存路径,避免路径不存在报错
if not os.path.exists(save_path):
    os.makedirs(save_path)

name_of_file = f"PRO Project DB_RA_{curr_date.upper()}"
completeName = os.path.join(save_path, f"{name_of_file}.xlsx") 

# df为你完成数据清洗后的DataFrame对象,直接导出即可
df.to_excel(completeName, index=False)

额外可选优化

如果同一个月内需要多次运行脚本,不想覆盖当月已生成的文件,可以调整命名规则:

  • 精确到天:将时间格式化参数改为%Y_%m_%d,同一天多次运行可以再加%H%M精确到分钟
  • 自动加版本号:判断目标路径下是否存在同名文件,存在的话自动在文件名后缀加_v1、_v2这类版本标识

内容的提问来源于stack exchange,提问作者Sheryna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 07:15:08