如何从Pandas DataFrame按ID拆分并导出为多个CSV文件
按ID拆分CSV为独立文件的实现
需求说明
从指定CSV文件读取数据生成Pandas DataFrame,将具有相同ID的行拆分出来,导出为以对应ID命名的独立CSV文件;ID列表未知(原文件包含数千个ID),无需保留拆分后的DataFrame,文件保存至原CSV所在路径。
示例源数据(df1source.csv)
ID,A,B B345,male,12 B980,female,34 B980,female,44 B345,female,04 B456,male,78
完整实现代码
import pandas as pd import os # 读取源CSV文件 df1 = pd.read_csv(r"C:\file\path\df1source.csv") # 获取原文件所在路径 source_path = os.path.dirname(r"C:\file\path\df1source.csv") # 按ID分组并导出每个分组为独立CSV for id_val, group in df1.groupby('ID'): # 构造导出文件路径 output_file = os.path.join(source_path, f"{id_val}.csv") # 导出CSV,不保留索引 group.to_csv(output_file, index=False)
代码说明
- 使用
os.path.dirname()获取原CSV文件的所在目录,确保拆分后的文件保存到相同路径 df1.groupby('ID')按ID列对数据分组,遍历每个分组得到对应的ID值和该ID的所有行数据- 用
f"{id_val}.csv"作为导出文件的名称,通过os.path.join()拼接完整路径避免路径格式问题 to_csv()的index=False参数避免导出时把DataFrame的索引列写入CSV文件
内容的提问来源于stack exchange,提问作者Dave66
相关产品推荐
相关产品推荐

