파이썬으로 엑셀에 데이터 저장

하스레·2022년 5월 25일
0

크롤링 스터디

목록 보기
5/5

openpyxl 라이브러리

터미널에서 다음 명령어 입력하여 다운

pip install openpyxl

엑셀 파일, 워크시트에 데이터 추가 후 저장하기

import openpyxl

# 엑셀 파일 만들기
wb = openpyxl.Workbook()

# 워크시트 만들기
ws = wb.create_sheet('주식 현재가')

# 데이터 추가: 괄호 안에 셀 넣어주면됨. 
# 가로: A, B, C, D ...
# 세로: 1, 2, 3, 4 ...
ws['A1'] = '종목명'
ws['B1'] = '현재가'

# 저장하기
wb.save('/Users/hssarah/Projects/crawling-study/stock_crawling/stock_data.xlsx')

결과

엑셀 파일 불러와서 수정하기

엑셀 파일을 열고 네 종목의 주식 현재가를 가져와 저장한다.

import openpyxl
import requests
from bs4 import BeautifulSoup

fpath = '/Users/hssarah/Projects/crawling-study/stock_crawling/stock_data.xlsx'
wb = openpyxl.load_workbook(fpath)
ws = wb['주식 현재가'] # wb.active는 현재 활성화된 창

stockCodes = [
    ('삼바', '207940'), 
    ('카카오', '035720'),
    ('네이버', '035420'),
    ('cj대한통운', '000120')
]

i = 1
for stockCode in stockCodes:
    url = f"https://finance.naver.com/item/sise.naver?code={stockCode[1]}"

    res = requests.get(url)
    soup = BeautifulSoup(res.text, 'html.parser')
    price = soup.select_one('#_nowVal').text.replace(',', '')

    ws['A' + str(i)] = stockCode[0]
    ws['B' + str(i)] = price
    i += 1

wb.save(fpath)

결과


https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%ED%81%AC%EB%A1%A4%EB%A7%81-%EA%B8%B0%EC%B4%88/lecture/93648?tab=note&volume=1.00&speed=2

profile
Software Developer

0개의 댓글