You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Yahoo Finance获取ESG数据时Python代码出现语法错误求助

解决Yahoo Finance ESG数据下载代码中的语法错误

你遇到的语法错误根源是**pd.DataFrame()语句缺少闭合的右括号**,导致后续代码的语法结构被破坏,编辑器误报在df["symbol"] = symbol行出错。

修正后的完整代码

import pandas as pd
import yfinance as yf
import time
from random import randint
import yesg
import requests

# 读取股票代码CSV
nasdaq = pd.read_csv('/path/to/file.csv')

# Yahoo Finance ESG数据接口
url = "https://query2.finance.yahoo.com/v1/finance/esgChart"

# 存储各股票ESG数据的列表
dataframes = []

for symbol in nasdaq["Symbol"]:  # 注意:需匹配CSV实际列名,原代码写的ticker_code需替换为Symbol
    response = requests.get(url, params={"symbol": symbol})
    if response.ok:
        # 补全pd.DataFrame的闭合右括号
        df = pd.DataFrame(response.json()["esgChart"]["result"][0]["symbolSeries"])
        df["symbol"] = symbol
        dataframes.append(df)

# 合并所有数据
df = pd.concat(dataframes)
df["timestamp"] = pd.to_datetime(df["timestamp"], unit="s")

额外提示

  • 确保遍历的列名和CSV中的Symbol列一致,避免触发KeyError。
  • 建议在循环中添加随机延迟(如time.sleep(randint(1,3))),防止频繁请求触发Yahoo的反爬限制。

内容的提问来源于stack exchange,提问作者jrpars1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 15:13:27