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

Python pandas从多URL合并为单DataFrame出现concat报错如何解决

问题解决方法

报错核心原因

  • pd.read_html() 函数返回值为当前页面所有匹配表格组成的列表,即使页面只有1个表格,返回的也是[DataFrame]格式的列表,而非直接返回DataFrame对象。你直接将整个列表存入待拼接列表,pd.concat()自然无法识别列表类型的拼接对象。
  • 你的原始代码还存在三处可提前规避的语法问题:
    1. 导入pandas的语句Import pandas首字母大写,不符合Python语法要求
    2. today变量未提前定义,直接调用strftime方法会触发NameError
    3. for循环下的代码没有正确缩进,运行时会触发缩进错误

修正后的完整代码

import pandas as pd
from datetime import date
from tabulate import tabulate

# 补充today变量定义
today = date.today()
final_date = today.strftime("%d.%m.%Y")

power_data = ['https://transparency.entsoe.eu/transmission-domain/r2/scheduledCommercialExchangesDayAhead/show'
              '?name=&defaultValue=false&viewType=TABLE&areaType=BORDER_CTY&atch=false&dateTime.dateTime'
              '='+final_date+'+00:00|CET|DAY&border.values=CTY|10YFR-RTE------C!CTY_CTY|10YFR-RTE------C_CTY_CTY'
                             '|10YBE----------2&direction.values=Export&direction.values=Import&dateTime.timezone'
                             '=CET_CEST&dateTime.timezone_input=CET+(UTC+1)+/+CEST+(UTC+2)',
              'https://transparency.entsoe.eu/transmission-domain/r2/scheduledCommercialExchangesDayAhead/show?name=&defaultValue=false&viewType=TABLE&areaType=BORDER_CTY&atch=false&dateTime.dateTime='+final_date+'+00:00|CET|DAY&border.values=CTY|10YFR-RTE------C!CTY_CTY|10YFR-RTE------C_CTY_CTY|10Y1001A1001A83F&direction.values=Export&direction.values=Import&dateTime.timezone=CET_CEST&dateTime.timezone_input=CET+(UTC+1)+/+CEST+(UTC+2)']
df_list = []
for url in power_data:
    # 取read_html返回列表的第一个元素,获取实际的DataFrame对象
    table = pd.read_html(url, index_col=None, header=None)
    df = table[0]
    df_list.append(df)

df_final = pd.concat(df_list, sort=False)
df_final = df_final.drop_duplicates().reset_index(drop=True)
print(tabulate(df_final.head(), headers='keys'))
df_final.to_excel('power_data.xlsx', index=False)

关键修改说明

  • 调用pd.read_html()后取返回列表的第0位元素table[0],拿到实际的表格DataFrame再存入待拼接列表
  • 修正了导入语句的大小写错误,补充了today变量的定义逻辑
  • 修正了for循环下代码的缩进错误
  • 导出Excel时新增index=False参数,避免把无用的索引列也写入文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 03:30:05