import os os.environ["http_proxy"] = "http://127.0.0.1:7890" os.environ["https_proxy"] = "http://127.0.0.1:7890" # pip install yfinance import yfinance as yf from datetime import datetime def crypto_last(ticker: str) -> float: """ 返回某个币对 USD 的最新收盘价(1m 线最近一次) ticker 示例: "BTC-USD", "ETH-USD", "SOL-USD" """ data = yf.download( tickers=ticker, period="1d", interval="1m", auto_adjust=True, progress=False, threads=False ) if data.empty: raise RuntimeError("yfinance 返回为空,可能 ticker 写错或网络问题") # 关键修正:把 Series 转成标量 last_close = data["Close"].iloc[-1].item() return last_close if __name__ == "__main__": pairs = ["BTC-USD", "ETH-USD", "SOL-USD", "SUI-USD"] for p in pairs: try: price = crypto_last(p) except Exception as e: print(e) print(f"{datetime.now():%Y-%m-%d %H:%M:%S} {p}: {price}")