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

如何在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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 18:31:01