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

Python Pandas中删除DataFrame多行及前12行删除报错求助

问题排查与解决方法

报错原因

  1. pd.read_html()返回值类型错误:该函数读取HTML表格后,返回的是包含一个或多个DataFrame的列表,而非单个DataFrame对象。直接对列表调用drop方法,自然会抛出'list' object has no attribute 'drop'的错误。
  2. URL写法错误:代码中url=Exp01.html未用字符串包裹,会被Python当作变量解析,运行时触发NameError。
  3. 删除逻辑与需求不符:你想删除前12行,但代码中写的是删除索引为'1'、'12'的行,既不符合需求,且若索引为整数类型,用字符串指定索引也会无效。
  4. inplace=True的误用:使用inplace=True时,方法会直接修改原对象并返回None,将其赋值给df会导致df变为None,后续无法正常操作。

解决步骤与修正代码

  1. 从pd.read_html()返回的列表中提取目标DataFrame(若HTML仅含一个表格,取索引0的元素)。
  2. 修正URL的字符串写法。
  3. 用正确方式删除前12行(推荐iloc切片,简洁高效)。
  4. 避免将inplace=True的返回值赋值给变量。

修正后的代码:

import pandas as pd

# 正确指定HTML文件路径(字符串包裹)
url = 'Exp01.html'
# 读取HTML表格,提取第一个DataFrame
df = pd.read_html(url)[0]
# 删除前12行,保留第13行及以后的数据
df = df.iloc[12:]
# 也可以用drop方法实现:df = df.drop(df.index[:12])
print(df)

补充说明

如果你的HTML文件中包含多个表格,需要先确认目标表格的位置,再调整索引提取,比如取第二个表格就用pd.read_html(url)[1]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:10:31