커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
ChatGPT의 첫 코드인데 강의와 차이점을 알고 싶습니다.
ChatGPT 300% 활용하기 v0
1주차
북마크
박*영
댓글
6
추천
0
조회수
11
조회수
11
답변 완료

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

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


처음 Chat GPT로 코드를 작성했을 때와 코드스니펫에서 작성된 코드를 학습 시킨 후의 결과물이 왜 다르게 나왔는지 궁금합니다.


  • 코드 스니펫의 코드를 학습한 후에는 주요재무정보가 3개 행에 걸쳐 표기가 되면서 강의 내용과 일치하지만 학습 전에는 1개 행으로 간략하게 정리가 됩니다. ChatGPT에서는 단일 테이블 처리와 다중 테이블 처리에 따른 차이가 있다고 설명하는데 좀 더 자세한 설명을 듣고 싶습니다.
  • 코드 스니펫의 코드를 학습한 후에는 '주요재무정보' 칼럼만 보기를 하면 강의 내용처럼 깔끔한 표로 정리가 되지만 학습 전에는 표로 정리도 안될 뿐더러 칼럼 명이 맨 아래로 내려가 버립니다. 어디서 이런 차이가 발생했는지 궁금합니다.






[처음 Chat GPT로 작성한 코드에서 만들어진 재무제표]

스파르타 즉문즉답스파르타 즉문즉답

[코드 스니펫 코드를 학습 시킨 후 만들어진 재무제표]

스파르타 즉문즉답스파르타 즉문즉답




작성한 코드 및 에러 메세지


[처음 Chat GPT를 통해 작성한 코드]

# 필요한 라이브러리 설치 (필요시 주석 해제)

# !pip install requests

# !pip install beautifulsoup4

# !pip install pandas


import requests

from bs4 import BeautifulSoup

import pandas as pd


def get_financial_statements(stock_code):

    # 네이버 금융 재무제표 URL

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

   

    # 페이지 요청

    response = requests.get(url)

    response.raise_for_status()  # 요청이 성공했는지 확인


    # 페이지 파싱

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


    # 재무제표 테이블 추출 (전체 섹션에서 특정 테이블 선택)

    table = soup.select_one('div.section.cop_analysis div.sub_section table')

   

    # 헤더 추출

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


    # 데이터 추출

    data = []

    for row in table.select('tbody tr'):

        row_data = [td.get_text(strip=True) for td in row.select('td')]

        data.append(row_data)

   

    # 데이터프레임 생성

    df = pd.DataFrame(data, columns=headers[:len(data[0])])

   

    return df


# 넷마블 종목 코드

stock_code = '251270'


# 재무제표 데이터 가져오기

financial_statements_df = get_financial_statements(stock_code)


# 결과 출력

print(financial_statements_df)



[코드 스니펫의 코드를 학습 시킨 뒤의 코드]

# 필요한 라이브러리 설치 (필요시 주석 해제)

# !pip install requests

# !pip install beautifulsoup4

# !pip install pandas


import requests

from bs4 import BeautifulSoup

import pandas as pd


# 넷마블 종목 코드

stock_code = '251270'

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


response = requests.get(url)

html = response.content


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

tables = soup.find_all('table', {'class': 'tb_type1 tb_num tb_type1_ifrs'})


# 여러 테이블이 있을 수 있으므로, 각 테이블을 순회하며 데이터를 추출합니다.

dfs = []

for table in tables:

    df = pd.read_html(str(table))[0]

    dfs.append(df)


# 데이터프레임을 하나로 합칩니다.

financial_statements_df = pd.concat(dfs, ignore_index=True)


# 결과 출력

print(financial_statements_df)




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