You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将Pandas DataFrame保存至工作目录下的子文件夹中作为Excel文件

解决方案

当然有简便的方法!你只需要修改to_excel的文件路径,指定到目标子文件夹即可,这里分两种常见场景来处理:

1. 子文件夹已经存在的情况

直接在文件名前加上子文件夹的路径就行,比如你的子文件夹叫excel_outputs,可以用以下几种方式实现:

直接字符串拼接(适合路径简单的场景)

df.to_excel(f'excel_outputs/DATAFRAME{now_}.xlsx', index=False)

os.path.join适配多系统(避免路径分隔符问题)

如果要兼顾Windows、Linux/macOS不同的路径分隔符,推荐用os.path.join来拼接路径:

import os
# 拼接子文件夹和文件名
file_path = os.path.join('excel_outputs', f'DATAFRAME{now_}.xlsx')
df.to_excel(file_path, index=False)

pathlib更直观的路径操作(Python 3.4+推荐)

pathlib是Python现代的路径处理模块,写法更简洁直观:

from pathlib import Path
# 构造路径对象
file_path = Path('excel_outputs') / f'DATAFRAME{now_}.xlsx'
df.to_excel(file_path, index=False)

2. 子文件夹可能不存在的情况

如果担心子文件夹还没创建导致报错,可以先自动创建文件夹,再保存文件:

os模块实现

import os
folder_name = 'excel_outputs'
# exist_ok=True表示文件夹已存在时不报错
os.makedirs(folder_name, exist_ok=True)
# 拼接路径并保存
file_path = os.path.join(folder_name, f'DATAFRAME{now_}.xlsx')
df.to_excel(file_path, index=False)

pathlib模块实现

from pathlib import Path
folder_path = Path('excel_outputs')
# parents=True允许创建上级目录,exist_ok=True避免已存在时报错
folder_path.mkdir(parents=True, exist_ok=True)
file_path = folder_path / f'DATAFRAME{now_}.xlsx'
df.to_excel(file_path, index=False)

把以上代码整合到你现有代码里的完整示例(以pathlib为例):

ws = sh.worksheet('DATAFRAME')
df = pd.DataFrame(ws.get_all_records())
df = df.applymap(lambda x: x.strip() if isinstance(x, str) else x)
from datetime import datetime
from pathlib import Path

now_ = datetime.now().strftime('%b %d %y %H_%M_%S')

# 创建目标子文件夹(不存在则自动创建)
output_folder = Path('excel_outputs')
output_folder.mkdir(parents=True, exist_ok=True)

# 将文件保存到子文件夹内
file_path = output_folder / f'DATAFRAME{now_}.xlsx'
df.to_excel(file_path, index=False)

这样就能自动把Excel文件存到工作目录下的excel_outputs子文件夹里啦~

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

火山引擎 最新活动