我如何浏览股票行情列表来更新数据框架

2024-10-03 02:32:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python真的很陌生,这个问题可能太基本了,我现在似乎在网上找不到任何答案。你知道吗

我一直在尝试循环浏览一个由9个股票报价人组成的列表,下面称为“symbol”,从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

Tags: fromhttpsimportcomdfdatetimeastable
1条回答
网友
1楼 · 发布于 2024-10-03 02:32:41

如果您编写ecommerce(),Python假设您想调用一个函数(callable),这个函数由名称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)。你知道吗

相关问题 更多 >