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

Python解决三维列表转DataFrame需传入二维输入的报错问题

报错原因
  • pd.read_html()的返回值是列表类型,会将网页内所有解析到的HTML表格按顺序存入列表,不会直接返回单个表格。当前爬取的页面仅包含1个国家代码目标表格,因此返回列表长度为1,整体结构为[目标二维表格],对应你看到的(1, 249, 4)形状。
  • 你代码中调用np.reshape后没有将变形结果赋值给变量,变形操作未实际生效,后续传入pd.DataFrame的仍是原始三维结构,因此触发维度报错。
修复方案

无需额外使用numpy做维度转换,直接读取返回列表的第一个元素就是符合要求的二维表格,修正后可运行代码如下:

import pandas as pd

# 读取页面所有表格,取索引为0的第一个元素即为目标国家代码表
all_tables = pd.read_html("https://www.iban.com/country-codes")
df_countryCodes = all_tables[0]
print(df_countryCodes)
结果说明

运行后得到的DataFrame和给出的样例结构完全匹配,包含4个字段:

  • Country:国家名称
  • Alpha-2 code:两位国家代码
  • Alpha-3 code:三位国家代码
  • Numeric:数字国家代码

后续使用pd.read_html爬取包含多张表格的页面时,可先查看返回列表的长度,按索引提取对应目标表格即可,无需手动做reshape变形。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 03:45:32