尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

yfinance 如何设置 locale 让 Ticker.info 返回本地语言的公司名称

yfinance 如何设置 locale 让 Ticker.info 返回本地语言的公司名称 yfinance 如何设置 locale 让 Ticker.info 返回本地语言的公司名称【免费下载链接】yfinanceDownload market data from Yahoo! Finances API项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance用 yfinance 拉取股票资料时Ticker.info默认返回的是英文公司名称例如小米是Xiaomi Corporation。如果你希望longName、shortName等字段跟随 Yahoo 的本地语言返回需要通过 yfinance 的全局配置yf.config.locale来指定语言与地区。本文介绍如何设置这个 locale、如何验证生效以及哪些情况 Yahoo 不会返回翻译结果。前提locale 的默认值yfinance 的yf.config.locale有两个字段定义见 config.pylangBCP-47 语言标签用于 Yahoo v7/v10 端点默认en-USregionISO 3166-1 alpha-2 国家码默认US默认 localeen-US/US下1810.HK的longName返回Xiaomi Corporation这一点在仓库测试 test_ticker_locale.py 中有对应断言。设置 locale在会话开始时设置一次根据 advanced/config.rst 的说明localized 字段longName、shortName等跟随yf.config.locale。做法是在会话开始时切换一次之后所有走 v7 / v10 端点的调用Ticker.info、Ticker.fast_info、Ticker.calendar、earnings_dates等都会继承该 locale。以繁体中文港为例文档给出的写法是import yfinance as yf yf.config.locale.lang zh-Hant-HK yf.config.locale.region HK name yf.Ticker(1810.HK).info[longName]以日语日本为例import yfinance as yf yf.config.locale.lang ja-JP yf.config.locale.region JP name yf.Ticker(7203.T).info[longName]两个代码块都是完整可运行的最小示例只需要按目标语言替换lang/region的取值即可。验证结果文档给出的示例输出如下文档示例实际以 Yahoo 当前返回为准zh-Hant-HK/HK下yf.Ticker(1810.HK).info[longName]返回小米集團ja-JP/JP下yf.Ticker(7203.T).info[longName]返回トヨタ自動車即设置 locale 后重新读取.info[longName]得到的是本地语言的公司名而不是默认英文就说明设置已生效。仓库测试 test_ticker_locale.py 还包含一个ru-RU/RU的用例对GAZP.ME断言longName包含Газпром若 Yahoo 未返回该字段则跳过测试可作为俄语方向的参考。locale 是通过请求参数传给 Yahoo 的。在 base.py 与 quote.py 中可以看到相关请求的 params 都是{lang: YfConfig.locale.lang, region: YfConfig.locale.region}因此只要设置一次后续请求即携带新的语言与地区。限制只有本地上市股票才有翻译文档明确说明Yahoo 只对在该 locale 本地上市的股票返回翻译值。即使把 locale 设为ja-JPTicker(AAPL)仍会返回Apple Inc.因为 Apple 的美国上市名称没有日语翻译该行为在 test_ticker_locale.py 的test_locale_us_listing_not_translated用例中被断言。所以验证时如果名称仍是英文先确认该股票是否在所选 locale 对应的市场本地上市而不是 locale 设置本身出错。小结在会话开始时设置一次yf.config.locale.lang和yf.config.locale.region即可让Ticker.info等 v7/v10 端点调用返回本地语言的longName、shortName等字段用目标市场本地上市的股票如1810.HK、7203.T读取.info[longName]来验证是否生效本地未上市的股票如美股代码在非美 locale 下不会返回翻译值此时保持原名是预期行为。locale 属于进程内的全局配置只在当前会话生效换新会话时需要重新设置。更多全局配置项network、debug等见 advanced/config.rst。【免费下载链接】yfinanceDownload market data from Yahoo! Finances API项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表