如何在pandas纵向拼接的多个DataFrame之间插入分隔符
实现方案
不要先把所有DataFrame一次性拼接后再导出,改为逐块写入文件,在每个数据块的前后插入>分隔符即可,修改后的代码如下:
import numpy as np import pandas as pd # 保留原有x、y、z的计算逻辑 # did some calcln and got x y z with open('out.csv', 'w') as f: # 遍历所有需要纵向拼接的DataFrame for df_block in [x, y, z]: # 写入块前分隔符 f.write('>\n') # 写入当前数据块,沿用原有的导出参数 df_block.to_csv(f, index=False, header=False, sep='\t') # 写入末尾分隔符 f.write('>\n')
逻辑说明
- 逐块写入不需要提前给拼接数据加额外标识,避免了全量拼接后无法识别原始块边界的问题
- 导出参数和你原有代码完全一致,不会改变原有数据的分隔规则、索引/表头隐藏规则
- 后续如果需要增加拼接的DataFrame,直接将新的df对象加入遍历列表即可,无需调整其他逻辑
内容的提问来源于stack exchange,提问作者manas
相关产品推荐
相关产品推荐

