如何通过股票代码列表更新数据框

我对 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



MMMHUHU
浏览 127回答 1
1回答

慕码人2483693

如果您编写ecommerce()Python 假设您想要调用由 name 引用的函数(可调用)ecommerce,但您想要做的是迭代列表(电子商务包含一个列表)。所以你只需要删除()。您可以从以下内容开始:for symbol in ecommerce:     income_statement_dataframes= pd.read_html('https://finance.yahoo.com/quote/' + symbol + '/financials?p=' + symbol)使用此代码income_statement_dataframes应包含数据框列表。url 引用的网页上的每个 html 表一个数据帧。您只需要检查它是哪一张表。如果你幸运的话,你已经可以通过这种方式使用它了。如果您在列表的元素中找不到可用形式的表格(例如,如果 html 有点邪恶),您可以查看 BeautifulSoup(导入 bs4)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python