Python如何拆分大型DataFrame为小数据框并批量导出CSV文件?
实现方法
1. 前置依赖
需要用到两个Python库:
- pandas:用于DataFrame结构处理、文件读写
- openpyxl:用于解析xlsx格式的Excel文件,若你使用的是xls格式,可以替换为xlrd库
安装命令:pip install pandas openpyxl
2. 完整实现代码
import pandas as pd # 替换为你的Excel文件实际路径 df = pd.read_excel("你的源文件路径.xlsx") # 定义单个CSV文件的行数 per_file_rows = 5000 # 计算总拆分份数 total_file_count = (len(df) // per_file_rows) + 1 for num in range(total_file_count): # 按行切片得到子DataFrame start = num * per_file_rows end = (num + 1) * per_file_rows sub_df = df[start:end] # 导出为CSV文件,index=False表示不导出pandas默认的索引列 sub_df.to_csv(f"拆分结果_{num+1}.csv", index=False, encoding="utf_8_sig")
3. 补充说明
提示:129000行数据体积很小,上述全量读取的方案不会有内存压力,完全满足你的需求。
encoding="utf_8_sig"参数是为了保证导出的CSV用Office打开时中文不会乱码,如果你不需要处理中文内容,可以替换为encoding="utf-8"- 代码默认会保留原Excel的表头,每一份拆分后的CSV都会自带表头,不需要额外处理
- 如果源文件是xls格式,将
read_excel方法的engine参数指定为xlrd,同时提前安装xlrd库即可
内容的提问来源于stack exchange,提问作者Ali El Gayar
相关产品推荐
相关产品推荐

