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

如何使用Pandas删除Excel首列空值转置后插入指定行

实现步骤及代码

首先安装所需依赖:
pip install pandas openpyxl numpy

完整实现代码如下:

import pandas as pd
import numpy as np

# 1. 读取Excel数据,不设置默认表头
df = pd.read_excel('你的Excel文件路径.xlsx', header=None)

# 2. 提取A列(对应DataFrame第0列)所有非NaN值,构造待插入的行
a_col_non_null = df[0].dropna().tolist()
insert_row = [np.nan] + a_col_non_null
# 自动补齐行长度,和原数据列数保持一致
if len(insert_row) < df.shape[1]:
    insert_row += [np.nan] * (df.shape[1] - len(insert_row))
insert_row = pd.Series(insert_row, index=df.columns)

# 3. 处理前3行的空列左移,匹配预期输出格式
for i in range(3):
    df.iloc[i, 1:] = df.iloc[i, 2:].values
    df.iloc[i, -1] = np.nan

# 4. 将构造好的行插入第8行位置(Pandas默认0索引,对应插入位置为7)
insert_pos = 7
df_top = df.iloc[:insert_pos]
df_bottom = df.iloc[insert_pos:]
df = pd.concat([df_top, pd.DataFrame([insert_row]), df_bottom], ignore_index=True)

# 5. 处理原U1、U2所在行的列左移,删除A列已提取的内容
for i in [11, 12]:
    df.iloc[i, :-1] = df.iloc[i, 1:].values
    df.iloc[i, -1] = np.nan

# 6. 导出处理后的结果到新Excel文件
df.to_excel('处理后的结果.xlsx', index=False, header=False)

说明

  • 如果实际数据中U1、U2所在的行位置和示例不同,调整步骤5的行索引即可
  • 代码会自动识别A列的非空值数量构造插入行,列数和实际数据不一致时也能自动适配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:36:03