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

Python如何删除DataFrame首行或首列?list无iloc属性报错如何解决

用户爬取数据截图

错误原因

你的df变量实际为列表(list)类型,并非你预想的Pandas DataFrame对象,列表本身不存在iloc属性,因此触发AttributeError报错。

解决方法

第一步:将爬取得到的列表转为DataFrame

import pandas as pd

# 替换为你实际存储爬取结果的列表变量
raw_data = 你的爬取结果列表

# 如果爬取的列表第一行是表头,使用下方代码转换,自动把第一行设为列名
df = pd.DataFrame(raw_data[1:], columns=raw_data[0])
# 如果爬取的列表没有表头,直接转换即可
# df = pd.DataFrame(raw_data)

第二步:执行删除操作

删除首行(任选一种即可)

  • 方法1:按行索引删除
df = df.drop(index=0)
  • 方法2:行切片过滤
df = df[1:]

删除首列(任选一种即可,转换为DataFrame后你原本写的iloc方法也可以正常运行)

  • 方法1:按列名删除第一列
df = df.drop(columns=df.columns[0])
  • 方法2:列切片过滤
df = df.iloc[:, 1:]

第三步:插入MySQL参考代码

处理完数据后可以直接用Pandas自带的to_sql方法批量写入MySQL:

from sqlalchemy import create_engine

# 替换为你自己的MySQL连接信息
connect_config = 'mysql+pymysql://用户名:密码@主机地址:端口/数据库名?charset=utf8mb4'
engine = create_engine(connect_config)

# if_exists可选值:replace(覆盖旧表)/append(追加写入)/fail(表存在就报错),index设为False不写入DataFrame的索引列
df.to_sql(name='你要写入的MySQL表名', con=engine, if_exists='append', index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:15:04