bankrollhunter / market-breadth

计算美股、A股市场宽度
MIT License
191 stars 95 forks source link

usstock.get_symbols() return error, please check the traceback log #3

Open joannaza opened 3 years ago

joannaza commented 3 years ago

python task/us_get_info.py Traceback (most recent call last): File "C:\Python-workspace\marketbreath\market-breadth\task\us_get_info.py", line 37, in symbols, msg = usstock.get_symbols() File "C:\Users\joann\AppData\Local\Programs\Python\Python39\lib\site-packages\opendatatools\usstock\usstock_interface.py", line 11, in get_symbols return usstock_agent.get_symbols() File "C:\Users\joann\AppData\Local\Programs\Python\Python39\lib\site-packages\opendatatools\usstock\usstock_agent.py", line 37, in get_symbols df_nasdaq = self._get_symbols('nasdaq') File "C:\Users\joann\AppData\Local\Programs\Python\Python39\lib\site-packages\opendatatools\usstock\usstock_agent.py", line 32, in _get_symbols df = pd.read_csv(io.BytesIO(response)) File "C:\Users\joann\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 686, in read_csv return _read(filepath_or_buffer, kwds) File "C:\Users\joann\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 458, in _read data = parser.read(nrows) File "C:\Users\joann\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 1196, in read ret = self._engine.read(nrows) File "C:\Users\joann\AppData\Local\Programs\Python\Python39\lib\site-packages\pandas\io\parsers.py", line 2155, in read data = self._reader.read(nrows) File "pandas_libs\parsers.pyx", line 847, in pandas._libs.parsers.TextReader.read File "pandas_libs\parsers.pyx", line 862, in pandas._libs.parsers.TextReader._read_low_memory File "pandas_libs\parsers.pyx", line 918, in pandas._libs.parsers.TextReader._read_rows File "pandas_libs\parsers.pyx", line 905, in pandas._libs.parsers.TextReader._tokenize_rows File "pandas_libs\parsers.pyx", line 2042, in pandas._libs.parsers.raise_parser_error pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 23, saw 45

hk-Lei commented 3 years ago

把 opendatatools 换成 https://github.com/hk-Lei/OpenData

moonmonk14134 commented 3 years ago

@hk-Lei 以前跑的很好。OSX upgrade 後,重新安裝. 這次跑 python task/us_get_info.py 得相同的錯誤. ......File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py", line 688, in read_csv return _read(filepath_or_buffer, kwds) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py", line 460, in _read data = parser.read(nrows) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py", line 1198, in read ret = self._engine.read(nrows) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py", line 2157, in read data = self._reader.read(nrows) File "pandas/_libs/parsers.pyx", line 847, in pandas._libs.parsers.TextReader.read File "pandas/_libs/parsers.pyx", line 862, in pandas._libs.parsers.TextReader._read_low_memory File "pandas/_libs/parsers.pyx", line 918, in pandas._libs.parsers.TextReader._read_rows File "pandas/_libs/parsers.pyx", line 905, in pandas._libs.parsers.TextReader._tokenize_rows File "pandas/_libs/parsers.pyx", line 2042, in pandas._libs.parsers.raise_parser_error pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 23, saw 46 ================= 進入python

from opendatatools import usstock ##OK symbols, msg = usstock.get_symbols() 得相同的錯誤... 所以 是 usstock get_symbols() .

去了https://github.com/hk-Lei/OpenData。但不知道如何换(rest_agent.py)。 謝謝。

moonmonk14134 commented 3 years ago

@hk-Lei download codes from GitHub::hk-lei/OpenData, and ran "python setup.py install". 之後再跑 usstock.get_symbols() in python3.7,

usstock.get_symbols() Traceback (most recent call last): File "", line 1, in File "/Users/xxx/Downloads/OpenData-master/opendatatools/usstock/usstock_interface.py", line 11, in get_symbols return usstock_agent.get_symbols() File "/Users/xxx/Downloads/OpenData-master/opendatatools/usstock/usstock_agent.py", line 37, in get_symbols df_nasdaq = self._get_symbols('nasdaq') File "/Users/xxx/Downloads/OpenData-master/opendatatools/usstock/usstock_agent.py", line 32, in _get_symbols df = pd.read_csv(io.BytesIO(response)) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py", line 688, in read_csv return _read(filepath_or_buffer, kwds) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py", line 460, in _read data = parser.read(nrows) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py", line 1198, in read ret = self._engine.read(nrows) File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/io/parsers.py", line 2157, in read data = self._reader.read(nrows) File "pandas/_libs/parsers.pyx", line 847, in pandas._libs.parsers.TextReader.read File "pandas/_libs/parsers.pyx", line 862, in pandas._libs.parsers.TextReader._read_low_memory File "pandas/_libs/parsers.pyx", line 918, in pandas._libs.parsers.TextReader._read_rows File "pandas/_libs/parsers.pyx", line 905, in pandas._libs.parsers.TextReader._tokenize_rows File "pandas/_libs/parsers.pyx", line 2042, in pandas._libs.parsers.raise_parser_error pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 23, saw 46

可以解惑嗎?

moonmonk14134 commented 3 years ago

@hk-Lei https://old.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&country=United%20States&render=download Nasdaq 將要在一月下架old.nasdaq.com...

https://www.nasdaq.com/market-activity/stocks/screener?letter=0&country=United%20States&exchange=NASDAQ&render=download 的CSV headers 有變: MarketCap >> Market Cap; industry>> Industry.
Market Cap 的值 是數字,沒有B and M 了。