簡體   English   中英

如何瀏覽股票行情清單以更新數據框

[英]How can I go through a list of equities tickers to update a dataframe

我真的是Python新手,這個問題可能太基礎了,以至於我現在似乎無法在線找到任何答案。

我一直在嘗試遍歷9個股票報價器的列表,以下稱為“符號”,以從YahooFinancials檢索每個報價器的資產負債表,現金流量表和損益表。

for symbol in ecommerce():創建循環,但在下面收到TypeError。

    from yahoofinancials import YahooFinancials
    import pandas as pd
    import requests
    import numpy as np
    from datetime import datetime

    ecommerce = ['CTRP', 'EBAY', 'GRUB', 'BABA', 'JD', 'EXPE', 'AMZN', 'BKNG', 'MPNGF']

    for symbol in ecommerce():
        df_income_statement = scrape_table('https://finance.yahoo.com/quote/' + symbol + '/financials?p=' + symbol)
        df_income_statement

        df_cash_flow = scrape_table('https://finance.yahoo.com/quote/' + symbol + '/cash-flow?p=' + symbol)
        df_cash_flow

        balance_sheet_url = 'https://finance.yahoo.com/quote/' + symbol + '/balance-sheet?p=' + symbol
        df_balance_sheet = scrape_table(balance_sheet_url)

預期結果:帶有資產負債表“ CTRP”,“ EBAY”,“ GRUB”,“ BABA”,“ JD”,“ EXPE”,“ AMZN”,“ BKNG”,“ MPNGF”的數據框

TypeError: 'list' object is not callable

from yahoofinancials import YahooFinancials import pandas as pd import requests import numpy as np from datetime import datetime

ecommerce = ['CTRP', 'EBAY', 'GRUB', 'BABA', 'JD', 'EXPE', 'AMZN', 'BKNG', 'MPNGF']

for symbol in ecommerce(): df_income_statement = scrape_table('https://finance.yahoo.com/quote/' + symbol + '/financials?p=' + symbol) df_income_statement

如果您編寫ecommerce() Python會假定您要調用名稱ecommerce引用的函數(可調用),但您要執行的操作是遍歷列表(ecommerce包含一個列表)。

因此,您只需要刪除()。 您可以從以下內容開始:

for symbol in ecommerce: 
    income_statement_dataframes= pd.read_html('https://finance.yahoo.com/quote/' + symbol + '/financials?p=' + symbol)

使用此代碼, income_statement_dataframes應該包含一個數據幀列表。 網址所引用的網頁上每個html表一個數據幀。 您只需要檢查它是哪個表即可。 如果幸運的話,您可以通過這種方式使用它。 如果在列表的元素之間找不到可用形式的表(例如,如果html更加邪惡),則可以查看BeautifulSoup(導入bs4)。

暫無
暫無

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

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