커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
코드 오류?
[왕초보] ChatGPT 300% 활용하기 v0
1주차
북마크
유*
댓글
5
추천
0
조회수
10
조회수
10
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.1


1주차 숙제로 GPT에 네이버 재무제표를 요청해서 받은 코드는 아래와 같습니다.


import requests

from bs4 import BeautifulSoup

import pandas as pd


def get_naver_financial_statement():

# 네이버 종목 코드

stock_code = '035420'


# 네이버 금융의 재무제표 페이지 URL

url = f"https://finance.naver.com/item/main.nhn?code={stock_code}"


# 페이지 요청

response = requests.get(url)

soup = BeautifulSoup(response.text, 'html.parser')


# 재무제표 테이블 찾기 (맨 처음 테이블 선택)

table = soup.find('table', {'class': 'tb_type1 tb_num'})


# 테이블에서 컬럼명과 데이터 추출

columns = [th.get_text().strip() for th in table.select('thead th')]

data = [[td.get_text().strip() for td in row.select('td')] for row in table.select('tbody tr')]


# 데이터프레임 생성

df = pd.DataFrame(data, columns=columns)


return df


# 네이버 재무제표 데이터프레임 얻기

naver_df = get_naver_financial_statement()


# 출력

print(naver_df)






작성한 코드 및 에러 메세지

오류 발생 시, 작성한 코드 전체와 에러AssertionError                            Traceback (most recent call last)
/usr/local/lib/python3.10/dist-packages/pandas/core/internals/construction.py in _finalize_columns_and_data(content, columns, dtype)
    968     try:
--> 969         columns = _validate_or_indexify_columns(contents, columns)
    970     except AssertionError as err:


6 frames

/usr/local/lib/python3.10/dist-packages/pandas/core/internals/construction.py in _validate_or_indexify_columns(content, columns)
   1016             # caller's responsibility to check for this...
-> 1017             raise AssertionError(
   1018                 f"{len(columns)} columns passed, passed data had "

AssertionError: 6 columns passed, passed data had 5 columns
The above exception was the direct cause of the following exception:

ValueError                                Traceback (most recent call last)
<ipython-input-7-60748cd38e0c> in <cell line: 29>()
     27 
     28 # 네이버 재무제표 데이터프레임 얻기
---> 29 naver_df = get_naver_financial_statement()
     30 
     31 # 출력

<ipython-input-7-60748cd38e0c> in get_naver_financial_statement()
     22 
     23     # 데이터프레임 생성
---> 24     df = pd.DataFrame(data, columns=columns)
     25 
     26     return df

/usr/local/lib/python3.10/dist-packages/pandas/core/frame.py in __init__(self, data, index, columns, dtype, copy)
    744                     if columns is not None:
    745                         columns = ensure_index(columns)
--> 746                     arrays, columns, index = nested_data_to_arrays(
    747                         # error: Argument 3 to "nested_data_to_arrays" has incompatible
    748                         # type "Optional[Collection[Any]]"; expected "Optional[Index]"

/usr/local/lib/python3.10/dist-packages/pandas/core/internals/construction.py in nested_data_to_arrays(data, columns, index, dtype)
    508         columns = ensure_index(data[0]._fields)
    509 
--> 510     arrays, columns = to_arrays(data, columns, dtype=dtype)
    511     columns = ensure_index(columns)
    512 

/usr/local/lib/python3.10/dist-packages/pandas/core/internals/construction.py in to_arrays(data, columns, dtype)
    873         arr = _list_to_arrays(data)
    874 
--> 875     content, columns = _finalize_columns_and_data(arr, columns, dtype)
    876     return content, columns
    877 

/usr/local/lib/python3.10/dist-packages/pandas/core/internals/construction.py in _finalize_columns_and_data(content, columns, dtype)
    970     except AssertionError as err:
    971         # GH#26429 do not raise user-facing AssertionError
--> 972         raise ValueError(err) from err
    973 
    974     if len(contents) and contents[0].dtype == np.object_:

ValueError: 6 columns passed, passed data had 5 columns 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!




취소
 공유
취소
댓글 0
댓글 알림
나의얼굴