如何读取指定文件夹下的CSV文件,提取指定列后逐个输出?
批量处理CSV文件:提取指定列并逐个输出
修正后的代码
import pandas as pd import glob import os # 指定目标CSV文件路径 all_files = glob.glob("C:/Users/Gamer/Documents/Colbun/Saturn/*.csv") # 遍历每个文件完成处理 for file_path in all_files: # 仅读取指定的两列数据 df = pd.read_csv(file_path, header=0, usecols=["t", "f"]) # 生成处理后文件的保存路径(示例:在原文件名前添加"processed_"前缀) file_dir, file_name = os.path.split(file_path) output_file = os.path.join(file_dir, f"processed_{file_name}") # 保存处理后的CSV(index=False避免写入多余的索引列) df.to_csv(output_file, index=False)
原代码的问题说明
- 缩进错误:
df = pd.read_csv(...)未缩进,导致循环仅执行最后一次,只处理了最后一个CSV文件 - 输出路径逻辑错误:
file_list是空列表,df.to_csv(file_list)会直接报错——to_csv要求传入字符串格式的文件路径,而非列表 - 未实现逐个输出:原代码没有为每个处理后的文件指定独立的输出路径,无法满足"逐个输出处理后文件"的需求
- 冗余代码:导入了
numpy但未实际使用,可移除;语句末尾的分号属于多余写法,Python中无需添加
内容的提问来源于stack exchange,提问作者Isaac Rojas Oyarzun
相关产品推荐
相关产品推荐

