CSV 기본

2023. 4. 23. 21:14·python/python_selenium
import csv
import requests
from bs4 import BeautifulSoup

filename = "시가총액1-200.csv"
# excel에서 열 때 한글이 깨지면 encoding을 `utf-8-sig`로 작성.
# 파일을 쓰기모드로 오픈 후 파일객체를 csv.writer 에 넣음.
f =open(filename, "w", encoding="utf-8-sig", newline="")
writer = csv.writer(f)

# string.split("구분자") = 구분자를 기준으로 string을 나눈 뒤 리스트로 삽입
title = "N	종목명	현재가	전일비	등락률	액면가	시가총액	상장주식수	외국인비율	거래량	PER	ROE".split("\\t")
# writer.writerow를 통해 list data를 한 라인씩 추가함.
writer.writerow(title)

url = "<https://finance.naver.com/sise/sise_market_sum.nhn?sosok=0&page=>"

for page in range(1,5):
    res = requests.get(url+str(page))
    res.raise_for_status()
    soup = BeautifulSoup(res.text, "lxml")

    data_rouws = soup.find("table", attrs={"class":"type_2"}).find("tbody").find_all("tr")
    for row in data_rouws:
        columns = row.find_all("td")

        # 중간에 여백 등을 위해 비어있는 td는 스킵함.
        if len(columns)<2:
            continue

        # tc중에 값이 있는 내용을 가져온 뒤 여백 삭제
        data = [column.get_text().strip() for column in columns]
        print(data)
        writer.writerow(data)
# f.close()를 사용해서 닫아주는것이 좋음.
f.close()
  • string.split("구분자") = 구분자를 기준으로 string을 나눈 뒤 리스트로 삽입
  • csv.writer(파일객체)를 넣어 csv file 쓰기모드로 열 수 있음.
  • writer.writerow(data) : data를 단일 라인을 작성함, data는 리스트 타입
    writer.writerows(data) : data를 단일 라인을 작성함, data는 2중 리스트 타입

'python > python_selenium' 카테고리의 다른 글

Selenium 심화  (0) 2023.04.25
Selenium 기본  (0) 2023.04.25
BeautifulSoup4 활용3  (0) 2023.04.23
BeautifulSoup4 활용2  (0) 2023.04.22
BeautifulSoup4 활용1  (0) 2023.04.19
'python/python_selenium' 카테고리의 다른 글
  • Selenium 심화
  • Selenium 기본
  • BeautifulSoup4 활용3
  • BeautifulSoup4 활용2
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (176) N
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (32)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
        • 제4회 QA conference (2)
      • 에러일기 (1)
      • Server&load (35)
        • AWS (27)
        • load test (5)
        • CI CD (3)
        • Jmeter (0)
      • RAG 을 활용하여 LLM 만들어보기 (1) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    qa 컨퍼런스
    e2c
    리눅스
    테스트 결과보고서
    로스트아크
    .cpu
    네트워크 테스트
    애플리케이션로그
    LOSTARK
    개발자에서아키텍트로
    앱공존성
    vi에디터
    cka
    linux
    스터디
    application log
    QAKOREA
    qa
    python
    쿠버네티스
    도커
    로스트아크api
    포스트맨
    postman
    공존성테스트
    qa conference
    사드웨어리소스
    k8s
    API
    테스트스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
CSV 기본
상단으로

티스토리툴바