如何基于列标题拆分大型CSV文件并保留ID列?
解决CSV按列拆分并保留ID列的问题
你之前的代码错误使用了str.split方法——这个方法是用来拆分字符串类型的列,但你的主CSV本身已经是结构化的多列数据,完全不需要做字符串拆分操作。
以下是实现需求的正确代码:
import pandas as pd # 读取主CSV文件 df = pd.read_csv('abc.csv') # 定义每个子文件需包含的列(均保留id列) csv1_cols = ['id', 'name', 'age'] csv2_cols = ['id', 'color', 'Gender'] # 筛选目标列并导出为CSV df[csv1_cols].to_csv('csv1.csv', index=False) df[csv2_cols].to_csv('csv2.csv', index=False)
代码说明
- 直接通过列名列表
df[csv1_cols]筛选原数据中的目标列,自动保留id列与对应列的所有行数据 to_csv方法添加index=False参数,避免将DataFrame的索引写入CSV文件,与你预期的输出格式完全匹配
运行后生成的csv1.csv和csv2.csv会完全符合你给出的预期结果。
内容的提问来源于stack exchange,提问作者Anusha
相关产品推荐
相关产品推荐

