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
499 stars 130 forks source link

Cải thiện error msg cho hàm `dividend_history` khi cổ phiếu không trả cổ tức #123

Closed Phat-pham99 closed 1 month ago

Phat-pham99 commented 3 months ago

Khi goị hàm dividend_history cho cổ phiếu không trả cổ tức (hoặc quỹ ETF), sẽ xuất 1 nùi logs khá là confusing ví dụ

from vnstock import dividend_history
ticker = "VMG"
print(dividend_history(ticker))
Traceback (most recent call last):
  File "/home/phathpham/Documents/Codes/vnstock/stock.py", line 5, in <module>
    print(dividend_history(ticker))
          ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/phathpham/Documents/Codes/vnstock/vnstock_venv/lib/python3.11/site-packages/vnstock/fundamental.py", line 419, in dividend_history
    df = json_normalize(data['listDividendPaymentHis']).drop(columns=['no', 'ticker'])
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/phathpham/Documents/Codes/vnstock/vnstock_venv/lib/python3.11/site-packages/pandas/core/frame.py", line 5568, in drop
    return super().drop(
           ^^^^^^^^^^^^^
  File "/home/phathpham/Documents/Codes/vnstock/vnstock_venv/lib/python3.11/site-packages/pandas/core/generic.py", line 4785, in drop
    obj = obj._drop_axis(labels, axis, level=level, errors=errors)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/phathpham/Documents/Codes/vnstock/vnstock_venv/lib/python3.11/site-packages/pandas/core/generic.py", line 4827, in _drop_axis
    new_axis = axis.drop(labels, errors=errors)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/phathpham/Documents/Codes/vnstock/vnstock_venv/lib/python3.11/site-packages/pandas/core/indexes/base.py", line 7070, in drop
    raise KeyError(f"{labels[mask].tolist()} not found in axis")
KeyError: "['no', 'ticker'] not found in axis"

Cần nên có 1 Error message dễ hiểu hơn cho người dùng.

thinh-vu commented 3 months ago

Hi bạn, Cảm ơn bạn đã gửi góp ý tới Vnstock. Hiện taik dự án đã nâng cấp lên Vnstock3. Các sửa đổi và cải thiện sẽ được tiếp thu và áp dụng trong phiên bản mới. Thân, Thịnh

Phat-pham99 commented 3 months ago

Cám ơn bạn, @thinh-vu

thinh-vu commented 1 month ago

Mình đã cập nhật code để xử lý phần lỗi phát sinh khi DataFrame không chứa các cột 'no' và 'ticker' để chương trình không bị ngắt quãng trong phiên bản Vnstock 0.3.0.6. Mình đóng ticket này tại đây.

Phat-pham99 commented 1 month ago

Thanks @thinh-vu