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

如何使用Pandas对多个CSV文件执行相同处理并保存至其他目录?

解决CSV批量处理后保存的问题

我来帮你搞定这两个问题!先分析下你当前代码的核心问题:

  • 每次保存都用固定字符串 "C:\new\path\to\file\variable name",导致每次循环都会覆盖同一个文件,最后自然只剩最后一次迭代的结果。
  • 要给每个处理后的文件设置不同名称,最直观的方式是复用原CSV的文件名,把它放到目标目录里即可。

下面是修改后的完整代码,我标注了关键改动点:

from pathlib import Path
import pandas as pd

# 用Path对象处理路径更安全,避免转义字符问题
source_dir = Path(r'C:\my\path\to\file')
target_dir = Path(r'C:\new\path\to\file')

# 确保目标目录存在,不存在则自动创建(包括父目录)
target_dir.mkdir(parents=True, exist_ok=True)

csv_files = list(source_dir.glob('*.csv'))  # 列出目录下所有CSV文件

for csv in csv_files:
    df = pd.read_csv(csv, encoding='ISO-8859-1', engine='python', delimiter=';')
    df.drop(df.index[:-1], inplace=True)  # 仅保留最后一行
    
    # 关键:拼接原文件名和目标目录,保证每个文件有独立名称
    target_file_path = target_dir / csv.name
    df.to_csv(target_file_path, index=False)  # index=False可避免保存额外的索引列,按需调整

关键改动说明:

  • 改用Path对象管理路径:比纯字符串更可靠,能自动适配不同系统的路径分隔符,还能避免转义字符出错。
  • 新增目录创建逻辑:target_dir.mkdir(...)确保保存文件的目标目录存在,不会因为目录缺失报错。
  • 动态生成保存路径:target_dir / csv.name会把原文件的名称和目标目录拼接,这样每个处理后的文件都会以原文件名保存到新目录,不会互相覆盖。

另外,很高兴听到Rakesh的解决方案对你完全有效,也希望这个调整后的代码能帮你更顺畅地完成批量处理工作!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 16:32:39