Python 如何从pandas.read_html连接结果列表

Python 如何从pandas.read_html连接结果列表,python,pandas,dataframe,Python,Pandas,Dataframe,我可以使用下面的代码从一个URL打印/访问CSV数据帧 import bs4 as bs import pandas as pd dfs = pd.read_html('http://www.url1.com',header=0) for df in dfs: print(df.head()) df.to_csv('File.csv') 我想将多个数据帧连接在一个数据帧中 dataframe1来自 dataframe2来自 数据帧来自 将所有数据帧合并为一个数据帧,并将其导

我可以使用下面的代码从一个URL打印/访问CSV数据帧

import bs4 as bs
import pandas as pd

dfs = pd.read_html('http://www.url1.com',header=0)


for df in dfs:
    print(df.head())
df.to_csv('File.csv')
我想将多个数据帧连接在一个数据帧中

  • dataframe1来自
  • dataframe2来自
  • 数据帧来自

将所有数据帧合并为一个数据帧,并将其导出为“file.csv”。

您可以使用
pandas.concat
连接数据帧:

import pandas as pd

urls = ['http://www.url1.com',
        'http://www.url2.com',
        'http://www.url3.com']

df = pd.concat([pd.concat(pd.read_html(url, header=0), axis=0) for url in urls], axis=0)

df.to_csv('file.csv')

解释

  • pd.concat
    连接数据帧列表
  • pd.read\u html
    返回数据帧列表
  • 因此,要连接数据帧列表,即
    pd.read\u html
    输出列表,需要使用嵌套的
    pd.concat

要解决这个问题,如果
,需要从每个人身上刮取(获取数据)。read_html
很好。然后我们可以使用您提供的方法将它们连接起来。请确保包含将其(数据)写入文件的代码。非常感谢,但您的代码给了我一个错误:
TypeError:无法连接“”类型的对象;只有pd.Series、pd.DataFrame和pd.Panel(已弃用)obj是有效的
,因此我将代码更改为:
import pandas as pd url=['http://www.url1.com',         'http://www.url2.com',         'http://www.url3.com']对于url中的url:pd_read=pd.read_html(url,header=0)df=pd.concat(pd_read,axis=0)df.to_csv('file.csv')
@prog业余爱好者,尝试更新。看起来像是
pd。read\u html
返回一个数据帧列表,因此我们可能需要嵌套的
concat
。亲爱的所有人,代码工作正常!!!非常感谢。但由于我是数据分析和panda的初学者,我想知道为什么嵌套的
concat
concat
时制作一个数据帧(一次)列个清单?非常感谢。@jpp,非常感谢您的快速反馈,非常感谢。