Ошибка с фондовым скринером: AttributeError: у объекта 'int' нет атрибута 'replace' - PullRequest
0 голосов
/ 12 июня 2019

Я использую функцию замены, чтобы избавиться от процента, чтобы его было легче превратить в целое число. Кроме того, я хочу использовать функцию замены в случае, если в данных появляется N / A.

Это для скрининга акций, который я пытаюсь разработать, где он просматривает список акций и дает мне оставшиеся, основанные на моих критериях.

def scrape(stock_list, interested, technicals):
    condition_1 = float(technicals.get('Return on Equity',0).replace("%","")) > 0
    condition_2 = float(technicals.get('Trailing P/E',0).replace("N/A","")) > 20
    for each_stock in stock_list:
        technicals = scrape_yahoo(each_stock)

        if condition_1 and condition_2:
            print(each_stock)
            for ind in interested:
                print(ind + ": "+ technicals[ind])
            print("------")
            time.sleep(1)                                                    # Use delay to avoid getting flagged as bot
    return technicals
def main():
    stock_list = ['MMM', 'ABT', 'ABBV', 'ABMD', 'ACN', 'ATVI', 'ADBE', 'AMD']
    interested = ['Trailing P/E', 'Return on Equity', 'Revenue', 'Quarterly Revenue Growth']
    technicals = {}
    tech = scrape(stock_list, interested, technicals)
    print(tech)


main()

AttributeError: у объекта 'int' нет атрибута 'replace'

1 Ответ

0 голосов
/ 12 июня 2019
technicals.get('Return on Equity',0).replace("%","")

Если technicals не содержит «Return on Equity», вы используете целое число 0 в качестве значения по умолчанию и не можете вызвать replace () для целого числа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...