thinh-vu / vnstock

A powerful Python library for getting rich data from the Vietnam Stock Market using just a few lines of code
https://vnstocks.com
Other
570 stars 142 forks source link

Báo lỗi cho tính năng gọi stock.trading.price_board #148

Open haoktqd opened 2 months ago

haoktqd commented 2 months ago

Mô tả lỗi Khi gọi stock.trading.price_board khi nếu gọi 1 danh sách cổ phiếu nhưng có 1 cổ phiếu không có data hoặc không có danh sách thì sẽ bị lỗi không gửi về data

Cách tái hiện lại lỗi để xử lý Các bước để tái hiện sự cố:

  1. Sử dụng VSCode '...'

  2. Sử dụng hàm '....'

  3. Thực thi lệnh '....' df_code1 = ['ACG', 'ADP', 'XYZ'] stock = Vnstock().stock(source='VCI', symbol = 'VCI') stock_table1 = pd.DataFrame(stock.trading.price_board(df_code1)) print(stock_table1)

  4. Gặp lỗi File "c:\Users\haokt\OneDrive\Python learning\Test\test2.py", line 40, in stock_table1 = pd.DataFrame(stock.trading.price_board(df_code1)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:\Python312\Lib\site-packages\vnstock3\common\data\data_explorer.py", line 236, in price_board return self.data_source.price_board(symbols_list, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "c:\Python312\Lib\site-packages\vnstock3\explorer\vci\trading.py", line 58, in price_board for i, bid in enumerate(item['bidAsk']['bidPrices'], start=1):

    
    TypeError: 'NoneType' object is not subscriptable

Mong muốn đạt được Khi gọi stock.trading.price_board khi nếu gọi 1 danh sách cổ phiếu nhưng có 1 cổ phiếu không có data hoặc không có danh sách thì sẽ bị lỗi không gửi về data => Đề xuất: nếu gặp cổ phiếu lỗi thì vẫn trả về kết quả những cổ phiếu còn lại

Ảnh chụp màn hình Nếu có, hãy thêm ảnh chụp màn hình để giúp giải thích vấn đề của bạn.

Máy tính để bàn (vui lòng cung cấp thông tin sau):

Bổ sung thông tin Thêm bất kỳ thông tin bổ sung nào về vấn đề tại đây.

thinh-vu commented 2 months ago

Cám ơn @haoktqd đã báo lỗi. Mình sẽ kiểm tra và nghiên cứu giải pháp khắc phục cho phiên bản tiếp theo.

thinh-vu commented 1 month ago

Mình đã kiểm tra và tái hiện báo lỗi của bạn nhưng kết quả chương trình vẫn trả về dữ liệu dù 1 mã bị sai. Bạn cho mình xin thông tin phiên bản python đang sử dụng để kiểm tra thêm với nhé. Screenshot mình thử nghiệm trên macos và linux đều trả về kết quả như dưới đây. image