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

如何快速从Pandas DataFrame导出前52列至新CSV文件?

解决方法:快速筛选DataFrame列并导出CSV

嘿,这个问题我之前也碰到过,手动列几十列名确实太折磨人了!给你两个简单的方案,不用逐一列名就能搞定:

方案一:排除不需要的列(推荐)

既然你只需要去掉3个特定列,那直接把这几个列从总列名里排除掉就好,比列52个列名轻松太多:

import pandas as pd

# 先读取你的原始数据(如果还没加载的话)
data = pd.read_csv('your_source_file.csv')

# 定义要排除的3个列
columns_to_exclude = ['Class', 'part_id', 'image_file']
# 生成需要保留的列列表:所有列中不在排除列表里的
keep_columns = [col for col in data.columns if col not in columns_to_exclude]

# 导出到新CSV,不保留索引
data[keep_columns].to_csv('new.csv', index=False)

这个方法的好处是不受列顺序影响,哪怕以后你的DataFrame列顺序变了,只要这3个列名没变,就能准确排除。

方案二:直接取前52列(适合列顺序固定的情况)

如果你的DataFrame列顺序是固定的,最后三列确实是Class、part_id、image_file,那也可以直接用位置索引取前52列:

import pandas as pd

data = pd.read_csv('your_source_file.csv')
# iloc[:, :52] 表示取所有行,前52列
data.iloc[:, :52].to_csv('new.csv', index=False)

这个方法代码更简洁,但要注意:如果以后列的顺序发生变化(比如新增列或者调整了列的位置),这个方法就会取错列,所以更适合列结构固定的场景。

为啥你之前的代码报错?

你之前写的[col1,col2,...]里的col1、col2是未定义的变量,Python不知道它们是什么。你需要用字符串形式的列名(比如['column_name1', 'column_name2']),但手动写52个显然不现实,所以上面的两种方法完美解决这个问题~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:33:13