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

使用Python pandas处理Excel时如何按索引删除指定行列

问题原因

pd.read_excel默认会把Excel文件的第一行识别为DataFrame的列名,不属于行数据范围,所以你删除索引0-10行的操作不会触及你要删的那个长标题,才会出现标题留存、只删了其他行的情况。另外你也没有编写删除第一列的相关逻辑。

解决方案

方案1:读入阶段直接处理(更高效,推荐)

读入时直接指定跳过无效行、跳过第一列,一步得到目标格式:

import pandas as pd

# skiprows=12:跳过Excel前12行(包含标题行+后面11行无效行),直接把第13行作为表头
# usecols=lambda x: x != 0:跳过第一列(Excel的A列),只保留后续有效列
df = pd.read_excel("AG.xls", sheet_name="AG", skiprows=12, usecols=lambda x: x != 0)
print(df)

方案2:读入后按索引删改(和你原有思路一致)

如果需要先读全量数据再处理,可以用以下代码:

import pandas as pd

# header=None:读入时不自动识别表头,把所有内容都作为行数据读取
df = pd.read_excel("AG.xls", sheet_name="AG", header=None)
# 删除前11行(索引0到10,包含标题行)
df = df.drop(range(11))
# 将当前第一行设为新的表头
df.columns = df.iloc[0]
# 删除已经用作表头的重复行
df = df.drop(df.index[0])
# 删除第一列(无效索引列)
df = df.drop(df.columns[0], axis=1)
# 重置行索引,可选操作
df = df.reset_index(drop=True)
print(df)

参考样式

原Excel表样式:
原Excel表样式
目标Excel表样式:
目标Excel表样式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 15:27:03