【问题标题】:How can I go through a list of equities tickers to update a dataframe如何通过股票代码列表更新数据框
【发布时间】:2020-01-06 15:49:57
【问题描述】:

我真的是 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

【问题讨论】:

  • 为什么for symbol in ecommerce() 中有括号? ecommerce 是一个列表,当您放置这些括号时,它会告诉 python 尝试像函数或方法一样“调用”它,因此出现“不可调用”错误
  • 非常感谢您的解释,现在清楚了:)

标签: python python-3.x pandas list


【解决方案1】:

如果您编写 ecommerce(),Python 假设您要调用名称 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 (import bs4)。

【讨论】:

  • 非常感谢您的详细解释,它有效! :)
猜你喜欢
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 2021-03-15
  • 2011-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多