본문 바로가기

DB엔지니어가 공부하는 python

[python] 파이썬으로 주식 상장기업 크롤링한 데이터 엑셀 저장 및 엑셀 파일 불러오기 feat.pandas

안녕하세요.

 

오늘은 파이썬으로 크롤링한 데이터를 엑셀로 저장하는 방법과 더불어

 

엑셀에 저장된 데이터를 파이썬 pandas dataset 으로 불러오는 방법 간단하게 소개 합니다.

 

우선 데이터를 크롤링해 봅니다.

 

한국거래소에서 운영하는 kind.krx.co.kr에서 상장기업 정보를 불러 오겠습니다.

import pandas as pd

code_df = pd.read_html('http://kind.krx.co.kr/corpgeneral/corpList.do?method=download&searchType=13', header=0)[0]

# 웹에 있는 데이터를 불러 옵니다.
# header = 0 옵션을 준 이유는,
# 맨 윗줄의 데이터를 헤더로 사용하기 위해서 입니다.

그리고 읽어온 데이터를 DataFrame 화 합니다!

db = pd.DataFrame(code_df)

이렇게 db 라는 변수의 데이터 프레임을 만들어 저장을 했습니다.

 

이걸 엑셀로 저장 하는 방법은 매우 간단합니다.

 

f 를 이용해서도 csv 저장을 할 수 있지만, for문 돌리고 어쩌고 파린이에겐 조금 복잡할 수 있습니다.

 

db.to_csv('excel_test.csv', mode = 'w', encoding = 'euc-kr')

mode에 'w'를 준것은 덮어쓴다는 의미 입니다.

 

여러 단계의 데이터를 이어서 쓸려면 'a' 옵션을 주고 아래와 같이 써주면 됩니다.

db.to_csv("excel_test.csv", mode='a', header=False)

위 코드를 보면 encoding = 'euc-kr' 옵션이 있는데, 이것은 한글이 깨지는것을 방지 합니다.

 

그냥 없이 해도 안깨지는 분들도 계시니 한번 테스트 해보시기 바랍니다.

 

그럼 마지막으로 엑셀에 있는 데이터를 파이썬의 dataset으로 가지고 오는 방법 입니다!

dataset = pd.read_csv("excel_test.csv", index_col=0, encoding = 'euc-kr')

이것이 이렇게나 간단하게..

 

불러와서 출력을 테스트 해보면 잘 됩니다.

dataset

이렇게 오늘도 파이썬 한토막 배웠습니다!

 

오늘도 즐거운 하루 되시기 바랍니다!!