簡體   English   中英

從多個 web 站點創建多個表

[英]Create multiple tables from multiple web sites

我正在創建一個包含特定值的 pandas 表。 例如,我想粘貼英超聯賽不同年份的鏈接,並在多行中獲取特定球隊當年的表現。 我還希望在信息來源的第一列中有鏈接。

import requests
import pandas as pd

url = 'https://www.skysports.com/premier-league-table'
html = requests.get(url).content
df_list = pd.read_html(html)
df = df_list[-1]

contain = df[df["Team"].str.contains("Liverpool")]

print(contain)

在這里,我已經有了特定年份的第一種方法。 所以我在這里被告知利物浦今年的表現如何。 但是,我仍然想了解更多關於利物浦在其他年份表現如何的信息。 例如 21/22 年 ( https://www.skysports.com/premier-league-table/2021 )。

所以我想添加另一行日期為 21 月 22 日、20 月 21 日等。最后應該有幾行包含信息和來源的日期。

At the moment I get this:
    #       Team  Pl  W  ...   A  GD  Pts  Last 6
9  10  Liverpool   8  2  ...  12   8   10     NaN
I would like to get this:
    #       Team  Pl  W  ...   A  GD  Pts  Last 6  Link
9  10  Liverpool   8  2  ...  12   8   10     NaN  https://www.sky...
1  2   Liverpool   8  28 ...  12  68   92     NaN  https://www.sky...
...

您可以創建一個單列 df 並按默認索引 0 合並它

urldf=pd.DataFrame([url],columns=["Link"]) 
contain=contain.reset_index()
contain = pd.merge(contain,urldf,left_index=True,right_index=True)

這是一個相關的問題Merge two dataframes by index

您可以一直這樣做,並使用pandas.concat來獲得所需的結果 dataframe

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM