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

Python Pandas按指定表头拆分CSV文件报错求助(KeyError)

问题解决:Pandas拆分CSV文件报错及正确实现

错误原因分析

你写的代码存在两个关键问题:

  1. 语法错误:header ={'id1,id2,id3,id4,id5,q1,q1_a'] 混合使用了大括号与方括号,且所有列名被写成单一字符串,Pandas无法识别为合法的列名列表。
  2. 逻辑缺失:未针对q1、q2、q3分别定义对应列并生成目标文件,仅处理了一次输出。

正确实现代码

import pandas as pd

# 读取CSV文件,read_csv直接返回DataFrame,无需额外转换
df = pd.read_csv('sample.csv')

# 提取固定的ID列,避免重复编写
id_columns = ['id1', 'id2', 'id3', 'id4', 'id5']

# 生成q1.csv
q1_columns = id_columns + ['q1', 'q1_a']
df[q1_columns].to_csv('q1.csv', index=False)

# 生成q2.csv
q2_columns = id_columns + ['q2', 'q2_a']
df[q2_columns].to_csv('q2.csv', index=False)

# 生成q3.csv
q3_columns = id_columns + ['q3', 'q3_a']
df[q3_columns].to_csv('q3.csv', index=False)

代码说明

  • pd.read_csv直接返回DataFrame对象,无需再用pd.DataFrame()二次转换。
  • 将重复的ID列单独提取,减少代码冗余。
  • 通过拼接列名列表筛选出对应数据,index=False用于避免保存CSV时自动添加系统索引列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:02:46