app.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
import yfinance as yf import pandas as pd tickers = [ "AAPL", "MSFT", "GOOGL", "AMZN", "META", "TSLA", "NVDA", "BRK-B", "JPM", "JNJ", "V", "UNH", "PG", "MA", "HD", "XOM", "LLY", "ABBV", "MRK", "PEP", "AVGO", "COST", "KO", "ADBE", "CSCO", "TMO", "WMT", "ACN", "CVX", "MCD", "DHR", "NKE", "AMD", "CRM", "TXN", "AMGN", "QCOM", "UNP", "LIN", "INTC", "NEE", "LOW", "MS", "GS", "PM", "UPS", "BMY", "HON", "IBM", "SBUX", "RTX", "BLK", "CAT", "GE", "DE", "ISRG", "AMAT", "SPGI", "PLD", "SYK", "NOW", "CB", "MDT", "TGT", "LRCX", "ELV", "ADI", "MO", "MU", "PGR", "C", "ZTS", "USB", "REGN", "ADP", "MDLZ", "VRTX", "T", "BKNG", "GM", "F", "APD", "GILD", "FDX", "KLAC", "PANW", "CSX", "GD", "ATVI", "MNST", "EA", "AON", "MAR", "ROST", "AEP", "KMB", "ORLY", "IDXX", "ROK", "AZO", "ECL", "MET", "HCA", "PSA", "EXC", "KMI", "PCAR", "CTAS", "PAYX", "HPQ" ] data = [] for ticker in tickers: try: info = yf.Ticker(ticker).info data.append({ "Ticker": ticker, "Company Name": info.get("shortName"), "Sector": info.get("sector"), "P/E Ratio": info.get("trailingPE"), "Beta": info.get("beta"), "Website": info.get("website"), "Industry": info.get("industry"), "Exchange": info.get("exchange"), "Market Cap": info.get("marketCap"), "Last Price": info.get("regularMarketPreviousClose"), "52-Week High": info.get("fiftyTwoWeekHigh"), "52-Week Low": info.get("fiftyTwoWeekLow"), "Volume": info.get("regularMarketVolume"), "Average Volume": info.get("averageVolume"), "Open": info.get("regularMarketOpen"), "Bid": info.get("bid"), "Ask": info.get("ask"), "Change": info.get("regularMarketChange") }) except Exception: data.append({ "Ticker": ticker, "Company Name": None, "Sector": None, "P/E Ratio": None, "Beta": None }) df = pd.DataFrame(data) df.to_excel("yfinance_100_companies.xlsx", index=False) print("Data saved to 'yfinance_100_companies.xlsx'") |