使用pandas导出Excel时如何避免覆盖原有文件自动生成新文件名
实现pandas导出Excel自动生成不重复文件名的方案
你需要借助Python标准库的os模块做文件存在性校验,核心逻辑是循环校验带序号的文件名是否存在,直到找到可用的文件名再执行导出,调整后的完整代码如下:
import os import pandas as pd # 配置基础文件名参数,后续修改文件名只需调整这里即可 base_filename = "dados_extraidos" file_ext = ".xlsx" current_filename = f"{base_filename}{file_ext}" counter = 1 # 自动检测文件是否存在,存在则递增序号 while os.path.exists(current_filename): current_filename = f"{base_filename}_{counter}{file_ext}" counter += 1 if imovel: df = pd.DataFrame(lista_imoveis, columns=['Bairro/Endereço','Valor Total','Metragem','Qtd Quartos','Vagas','Condomínio','Dados Adicionais','Link']) df.to_excel(current_filename, index=False) else: print('Erro')
逻辑说明
- 不需要安装额外第三方依赖,
os是Python内置标准库 - 程序会优先尝试用原始文件名
dados_extraidos.xlsx,检测到已存在时会自动生成dados_extraidos_1.xlsx、dados_extraidos_2.xlsx依次递增的文件名,完全不会覆盖原有文件 - 基础文件名和后缀可以根据需求自行修改,后续调整导出规则不需要改核心逻辑
内容的提问来源于stack exchange,提问作者Lanturia
相关产品推荐
相关产品推荐

