python - 如何浏览股票代码列表来更新数据框

标签 python python-3.x pandas list

我对Python真的很陌生,这个问题可能太基础了,目前我似乎无法在网上找到任何答案。

我一直在尝试遍历包含 9 个股票代码的列表(下面称为“符号”),以从 YahooFinancials 检索每个代码的 Assets 负债表、现金流量表和损益表。

一直在使用 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)

预期结果: Assets 负债表为“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 引用的函数(可调用),但你想要做的是迭代在列表上(电子商务包含一个列表)。

所以你只需要把()去掉就可以了。您可以从以下内容开始:

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

使用此代码venue_statement_dataframes应包含数据帧列表。 url 引用的网页上每个 html 表一个数据帧。 您只需要检查它是哪一张表。如果你幸运的话,你已经可以这样使用它了。如果你在列表的元素中找不到可用形式的表格(例如,如果 html 有点邪恶),你可以看看 BeautifulSoup(导入 bs4)。

关于python - 如何浏览股票代码列表来更新数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57776743/

相关文章:

python - 使用 Google Sheets API 将 Google Sheet 文档发布到网络

python - 导入错误 : dynamic module does not define init function

python - 在 Python 3.5 中运行 PyGMO

python - 将 pandas 数据框中的日期时间列转换为秒

python - 在两个数据之间保持相同的因式分解

python - Seaborn 类型错误 : No loop matching the specified signature and casting was found for ufunc add when using hue

python - 使用 matplotlib Python 绘制一系列图像

qt - PyQT5 错误 : could not find or load Qt platform plugin xcb

python - 使用 python3.7 进行慢速列表解析以删除重复项

python - Pandas - 根据索引结果返回 pandas 中的相邻列