Python保存编辑后CSV至新目录:如何正确指定目标目录?
问题排查与修复:Python保存CSV到指定目录失败
核心问题分析
to_csv参数传递错误
你当前代码里的df.to_csv('C:/Users/Desktop', csv.name, index=False)是错误的:to_csv要求第一个参数是完整的文件路径,而你把目录和文件名拆成了两个参数传递。这会导致Python误把目录路径当作文件名,把csv.name识别成分隔符参数,直接引发保存失败。目标目录路径不合法
Windows系统的桌面标准路径是C:/Users/[你的用户名]/Desktop,直接写C:/Users/Desktop是不存在的无效路径,这也是保存失败的常见原因。
修正后的完整代码
from pathlib import Path import pandas as pd # 源CSV文件所在目录 source_dir = r'C:/Users/PycharmProjects/pythonProject1' csv_files = [f for f in Path(source_dir).glob('*.csv')] # 需要提取的列 cols = ['Temperature'] # 目标保存目录,请替换成你的实际用户名 target_dir = Path(r'C:/Users/[你的用户名]/Desktop') # 确保目标目录存在,不存在则自动创建 target_dir.mkdir(exist_ok=True) for csv in csv_files: df = pd.read_csv(csv) # 用Path对象拼接完整的目标文件路径(跨平台兼容) target_file_path = target_dir / csv.name df[cols].to_csv(target_file_path, index=False) print(f'{csv.name} 已成功保存。')
关键修改说明
- 路径拼接方式:用
Path对象的/运算符拼接目录和文件名,这是Python中跨平台的标准路径处理方式,无需手动处理斜杠问题。 - 目录存在性检查:调用
target_dir.mkdir(exist_ok=True)可以确保目标目录存在,避免因目录不存在导致的保存异常。 to_csv参数修正:将拼接好的完整文件路径作为第一个参数传给to_csv,参数传递符合函数要求。
内容的提问来源于stack exchange,提问作者Joshua Mancini
相关产品推荐
相关产品推荐

