인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

곽수민님의 프로필 이미지
곽수민

작성한 질문수

[신규 개정판] 이것이 진짜 크롤링이다 - 기본편

현재값이 문자열로 출력

작성

·

221

0

 
안녕하세요,
 
강의해주신 방법대로 엑셀로 값을 저장하고 난 후에 엑셀에서 확인하면 값이 문자열로 저장되길래 숫자열로 바꾸는 방법을 검색해서 적용해보았습니다.
적용한 김에 3자리수마다 콤마를 표시하는 방법을 사용하고 싶어서 넣었는데,
영상에서 쓴 대로 넣어도 문자열이었고, 이렇게 바꿨는데도 불구하고 엑셀로 가보면 문자열로 출력이 되어서 하나하나 바꿔야 하더라구요.
 
혹시 현재값이 문자열로 출력되는 이유가 무엇일까요??
이렇게 바꿨는데도 문자열로 나오는 이유는 무엇인가요?
worksheet[f'E{row}'] = format(int(diff), ',')
 
 
 

답변 1

0

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

안녕하세요~!

코딩을 누구보다 쉽게 알려주는 스타트코딩입니다.

 

영상의 코드를 그대로 따라 입력했는데 문자열로 입력된다는 말씀인가요?

제가 방금 직접 실행하고 난 뒤의 엑셀 파일입니다~

 

import requests
from bs4 import BeautifulSoup
import openpyxl

fpath = r'C:\startcoding_crawling\01_네이버_주식현재가_크롤링\data.xlsx'
wb = openpyxl.load_workbook(fpath)
ws = wb.active # 현재 활성화된 시트 선택

# 종목 코드 리스트
codes = [
    '005930',
    '000660',
    '035720'
]

row = 2
for code in codes:
    url = f"https://finance.naver.com/item/sise.naver?code={code}"
    response = requests.get(url)
    html = response.text
    soup = BeautifulSoup(html, 'html.parser')
    price = soup.select_one("#_nowVal").text
    price = price.replace(',', '')
    print(price)
    ws[f'B{row}'] = int(price)
    row = row + 1

wb.save(fpath)

소스코드 입니다.

 

소스코드 대로 따라해서 실행해 보시고, 결과를 알려주세요 :)

어떻게 문자열로 출력되는지도 스크린샷 찍어 주세요.

 

감사합니다.

- 스타트코딩 드림. 

 

곽수민님의 프로필 이미지
곽수민

작성한 질문수

질문하기