You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于空列分隔符将Pandas DataFrame拆分为多个子DataFrame

Pandas 按空白列拆分多子表DataFrame实现方案

核心实现逻辑:先识别作为分隔符的全空白列,再按分隔位置切割列范围提取对应子表即可,完整实现代码如下:

  • 第一步:识别全空白分隔列
import pandas as pd

# 替换为你自己的读表代码,无特殊需求建议读入时不指定表头,避免干扰空白列识别
# df = pd.read_excel("你的Excel文件路径.xlsx", header=None)

# 定位所有全为空值的分隔列索引
empty_col_indexes = df.columns[df.isna().all()].tolist()
  • 第二步:拆分列区间生成独立子表
# 补充首尾边界方便批量切割
split_points = [-1] + empty_col_indexes + [df.shape[1]]
product_dfs = []

for i in range(len(split_points)-1):
    start_col = split_points[i] + 1
    end_col = split_points[i+1]
    # 跳过纯空白区间
    if start_col >= end_col:
        continue
    # 提取当前子表的所有列
    sub_df = df.iloc[:, start_col:end_col].copy()
    # 可选:删除子表内的全空行
    sub_df = sub_df.dropna(how="all").reset_index(drop=True)
    # 可选:如果子表第一行是表头,放开以下代码设置列名
    # sub_df.columns = sub_df.iloc[0].tolist()
    # sub_df = sub_df[1:].reset_index(drop=True)
    product_dfs.append(sub_df)

# 拆分完成后三个产品的独立DataFrame分别为 product_dfs[0]、product_dfs[1]、product_dfs[2]
  • 注意事项
    • 若读入Excel时已经指定了表头,空白列会被自动命名为Unnamed:xx格式,不影响空白列判断逻辑,代码可正常运行
    • 不同子表列数不一致的场景也可正常适配,无需额外调整逻辑

内容的提问来源于stack exchange,提问作者dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:54:07