如何在Jupyter Notebook中批量处理CSV文件:移除空列并重写
批量处理CSV文件:移除全空列并保存修改版
修正原代码的小问题
你提供的单文件处理代码存在一处语法错误:filtered_data.to_csv(...)末尾多了一个闭合括号,正确写法应为:
filtered_data.to_csv('C:\Users\tom\Desktop\plugs\20_80-1_plugs_modify.csv', index=False)
批量处理完整代码
以下是扩展后的批量处理代码,可遍历指定文件夹内所有CSV文件,自动移除全空列,并将处理后的文件以「原文件名+_modify」后缀保存:
import os import pandas as pd # 替换为你的目标文件夹路径,用原始字符串避免转义问题 target_folder = r'C:\Users\tom\Desktop\plugs' # 遍历文件夹内所有文件 for file_name in os.listdir(target_folder): # 仅处理CSV格式文件(兼容大写扩展名) if file_name.lower().endswith('.csv'): # 拼接完整文件路径 full_file_path = os.path.join(target_folder, file_name) # 读取CSV文件 df = pd.read_csv(full_file_path) # 删除所有值为空的列 cleaned_df = df.dropna(axis='columns', how='all') # 构造新文件名 file_base, file_ext = os.path.splitext(file_name) new_file_name = f"{file_base}_modify{file_ext}" new_full_path = os.path.join(target_folder, new_file_name) # 保存处理后的文件(不写入索引列) cleaned_df.to_csv(new_full_path, index=False)
关键细节说明
- 用
os.path.splitext分割文件名与扩展名,比手动截取字符串更稳定,适配各类文件名格式。 file_name.lower().endswith('.csv')确保不会遗漏大写扩展名的CSV文件(如.CSV)。- 采用原始字符串
r'路径'处理Windows路径,避免反斜杠被解析为转义字符。 - 保留核心逻辑
dropna(axis='columns', how='all'),精准移除完全为空的列。
内容的提问来源于stack exchange,提问作者Ikeshima
相关产品推荐
相关产品推荐

