2.8 What is CSV
-
CSV (Comma Separated Values)
몇 가지 필드를 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일 -
CSV   -->   구글 스프레드 시트
- CSV 파일 저장
- 구글 스프레드 시트에서 파일 - 가져오기 - 업로드
2.9 Saving to CSV
함수 생성
- csv 모듈 import하기
- csv 형식의 데이터를 읽고 쓰는 클래스 구현
-
open( )
- 파일을 생성하는 파이썬 내장함수
- 입력값 : "파일 이름"과 "파일 열기 모드"
- 결괏값 : 파일 객체를 돌려줌
- 파일 객체 = open(파일 이름, 파일 열기 모드)
- 파일 열기 모드
- 파일 열기 모드
-
함수 생성

import csv
def save_to_file():
file = open("jobs.csv", mode="w")
return
위 내용을 save.py로 저장
- 실행
from indeed import indeed_pages, start, extract_job
from save import save_to_file
max_pages=indeed_pages()
jobs = start(max_pages)
save_to_file(jobs)
위의 내용을 실행하면 jobs.csv 파일이 만들어짐
img ref) https://wikidocs.net/26
ref) https://docs.python.org/ko/3/library/csv.html
ref) https://wikidocs.net/26
파일에 글 입력하기
CSV 파일을 쓰기 위해서는
.csv 파일을 쓰기모드로 오픈하고 파일객체를 csv.writer(파일객체)에 넣으면 됨
- writer
- csv 모듈에 있는 함수
- 변수 = csv.writer(파일객체)
import csv
def save_to_file(jobs) :
file = open("jobs.csv", mode="w")
wr = csv.writer(file)
return
- .writerow()
- write의 메소드
- 이 메소드를 통하여 list 데이터를 한 라인 추가
import csv
def save_to_file(jobs) :
file = open("jobs.csv", mode="w")
wr = csv.writer(file)
wr.writerow(["title","company","location","link"])
return
위 내용을 실행하면 jobs.csv에

다음과 같이 한 줄 추가
ref) http://pythonstudy.xyz/python/article/207
수집한 정보 CSV에 입력
- dict.values( ) : 딕셔너리에서 value만 출력하는 method
- indeed에 수집한 정보는 dictionary 형태로 되어있음
따라서 value값만 가지고 올 것 - job.values( )
- indeed에 수집한 정보는 dictionary 형태로 되어있음
- list( ) : 리스트로 변환시켜주는 함수
- .writerow( )는 list의 데이터 추가시켜주므로 dict_values형태를 list로 변경해줘야함
- list(job.values( ))
def save_to_file(jobs) :
file = open("jobs.csv", mode="w")
wr = csv.writer(file)
wr.writerow(["title","company","location","link"])
for job in jobs :
wr.writerow(list((job.values())))
return
- 실행

위 사진과 같이 jobs.csv에 내용 추가
구글 스프레드 시트에 import
import jobs.csv를 하면 아래와 같이 수집한 정보가 정리된다

'python > Python으로 웹 스크래퍼 만들기' 카테고리의 다른 글
2. Building a Job Scrapper_4 (0) | 2020.03.25 |
---|---|
2. Building a Job Scrapper_3 (0) | 2020.03.25 |
2. Building a Job Scrapper_2 (0) | 2020.03.24 |
2. Building a Job Scrapper_1 (0) | 2020.03.24 |
1. Theory_2 (0) | 2020.03.24 |
댓글