arleigh418 / python-and-Taiwan-stock-market

Python 金融市場賺大錢聖經:寫出你的專屬指標
54 stars 17 forks source link

yfinance的問題 #5

Open RJ0223 opened 2 years ago

RJ0223 commented 2 years ago

你好,我在使用yfinance套件時發生了一些問題,我上網稍微查過了大家都說要更新yfinance套件,但我已經更新至最新版本,仍然無法解決這個問題,可以請你幫我看一下嗎? 非常感謝你。

import yfinance as yf import pandas as pd

選擇台積電

stock = yf.Ticker('2330.TW') df = pd.DataFrame() df = stock.history(start='2017-01-01', end='2021-02-02') Traceback (most recent call last): File "", line 1, in File "C:\Users\Tim\AppData\Local\Programs\Python\Python39\lib\site-packages\yfinance\base.py", line 157, in history ) File "C:\Users\Tim\AppData\Local\Programs\Python\Python39\lib\site-packages\requests\models.py", line 898, in json return complexjson.loads(self.text, **kwargs) File "C:\Users\Tim\AppData\Local\Programs\Python\Python39\lib\site-packages\simplejson__init__.py", line 525, in loads return _default_decoder.decode(s) File "C:\Users\Tim\AppData\Local\Programs\Python\Python39\lib\site-packages\simplejson\decoder.py", line 370, in decode obj, end = self.raw_decode(s) File "C:\Users\Tim\AppData\Local\Programs\Python\Python39\lib\site-packages\simplejson\decoder.py", line 400, in raw_decode return self.scan_once(s, idx=_w(s, idx).end()) File "C:\Users\Tim\AppData\Local\Programs\Python\Python39\lib\site-packages\simplejson\scanner.py", line 79, in scan_once return _scan_once(string, idx) File "C:\Users\Tim\AppData\Local\Programs\Python\Python39\lib\site-packages\simplejson\scanner.py", line 70, in _scan_once raise JSONDecodeError(errmsg, string, idx) simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

arleigh418 commented 2 years ago

Hi 您好,很高興您提問。 我的環境yfinance版本0.1.63,python版本3.7.6沒有這個問題。

您可以查看yfinance的版本 pip show yfinance

若是版本不同,您可以嘗試看看指定下載0.1.63版本的yfinance pip install yfinance==0.1.63

若是yfinance版本都一致,問題仍然存在的話,可以朝幾個層面去找問題:

  1. python版本過新,套件不支援(我認為這個可能性比較大)
  2. 您當日過於頻繁使用yfinance或是網路忽然出現問題(若是您一開始可以正常使用yfinance,用一用忽然不行了則有可能是此問題,但若一開始就不能用,我認為1的可能性比較大,或許可以考慮安裝較低版本的python,如3.7.6)