如何将Pandas生成的Excel文件保存到指定名称的新建文件夹中
实现方案
你可以按以下步骤调整代码即可实现需求:
- 优先将人名抽为独立变量,比从拼接后的字符串反向拆解更稳定,不易出错
- 调用系统库自动创建目标文件夹,避免文件夹不存在时报保存错误
- 拼接完整存储路径后传入保存方法即可
基于os模块实现(兼容性最好)
import os import pandas as pd # 单独定义人名变量,后续修改更灵活 person_name = "Alicia" day = 'monday' score = 45 # 生成原逻辑的文件名 file_base = f"{person_name} {score} in {day}" file_name = f"{file_base}.xlsx" # 目标文件夹名称 target_folder = person_name # 自动创建文件夹,已存在时不会报错 os.makedirs(target_folder, exist_ok=True) # 拼接完整保存路径,自动适配不同操作系统的路径分隔符 full_save_path = os.path.join(target_folder, file_name) # 写入文件 df.to_excel(full_save_path, index=False)
如果你确实只能从已拼接好的name变量中提取人名,可以加一行拆分逻辑:
name = f"Alicia {score} in {day}" # 按空格拆分取第一个元素为人名,仅适用于人名不含空格的场景 person_name = name.split()[0]
基于pathlib实现(Python3.4+推荐,语法更简洁)
from pathlib import Path import pandas as pd person_name = "Alicia" day = 'monday' score = 45 file_base = f"{person_name} {score} in {day}" target_folder = Path(person_name) # 创建文件夹,parents参数支持多级目录自动创建 target_folder.mkdir(parents=True, exist_ok=True) # 路径拼接语法更直观 full_save_path = target_folder / f"{file_base}.xlsx" df.to_excel(full_save_path, index=False)
最终生成的文件路径完全符合你给出的示例格式。
内容的提问来源于stack exchange,提问作者user16486968
相关产品推荐
相关产品推荐

