将拆分后的DataFrame分组导出为CSV文件的实现方法
实现方案
np.array_split拆分Pandas DataFrame得到的split_df列表中,每个元素本身就是DataFrame类型,无需额外转换,直接遍历导出即可。
基础导出方案
遍历拆分后的列表,按序号命名CSV文件即可:
import pandas as pd import numpy as np # 你的原有拆分逻辑 split_df = np.array_split(data, np.arange(0, len(data), 300)) # 遍历导出CSV for idx, df_part in enumerate(split_df, start=1): # 文件名按序号递增,比如part_1.csv、part_2.csv df_part.to_csv(f"part_{idx}.csv", index=False, encoding="utf-8-sig")
参数说明:
index=False:导出时不保留Pandas的行索引,按需可删除该参数保留索引encoding="utf-8-sig":兼容Windows系统下Excel打开CSV不会出现中文乱码,纯英文场景可替换为utf-8
自定义文件名导出方案
如果需要标识文件总数、源数据名称等信息,可调整文件名生成逻辑:
source_name = "sales_data" # 替换为你的源数据标识 total_parts = len(split_df) for idx, df_part in enumerate(split_df, start=1): file_name = f"{source_name}_part_{idx}_total_{total_parts}.csv" df_part.to_csv(file_name, index=False)
注意事项
np.array_split会自动适配行数不能被300整除的场景,最后一个分组会自动存储剩余行数,无需额外做边界判断- 如果需要自定义CSV分隔符,可在
to_csv方法中添加sep="\t"参数指定分隔符(示例为制表符分隔) - 大文件导出时可添加
chunksize参数优化写入性能,普通300行小文件无需额外配置
内容的提问来源于stack exchange,提问作者babu62
相关产品推荐
相关产品推荐

