728x90
오늘코드 - 서울시 코로나19 사이트 Pandas 단 한 줄로 크롤링 하기
영상을 실습한 코드 입니다.
https://www.youtube.com/watch?v=irHfF1ZcuY0
웹에서 크롤링 해 온 데이터 csv 파일로 저장하기¶
In [1]:
import pandas as pd
In [10]:
url = "https://www.seoul.go.kr/coronaV/coronaStatus.do"
url
Out[10]:
In [11]:
pd.read_html(url)
Out[11]:
In [12]:
table = pd.read_html(url)
len(table)
Out[12]:
In [21]:
#행과 열 순서 바꾸기 : .T
table[2].T
Out[21]:
In [24]:
df = table[6]
df.shape
Out[24]:
In [25]:
df.head()
Out[25]:
In [30]:
# 확진일 데이터를 n번 인덱스 정보만 가져오기
last_day = df.loc[0, "확진일"]
last_day
Out[30]:
In [31]:
# last_day의 .을 _로 대체해줘라
last_day = last_day.replace(".","_")
last_day
Out[31]:
In [33]:
#파일명 만들어 주기
file_name = f"seoul-covid19_{last_day}.csv"
file_name
Out[33]:
In [43]:
#csv 파일로 저장하기
df.to_csv(file_name, index = False)
#encoding = 'cp949': 엑셀로 읽어오는 인코딩
#index = False: df.head()에서 생긴 인덱스 삭제
In [44]:
# 제대로 저장되었는지 확인하기
pd.read_csv(file_name)
Out[44]:
서울시에서 공개한 코로나 19 발생동향 분석¶
In [49]:
# 데이터 분석하는 라이브러리
import pandas as pd
# 수치 계산하는 라이브러리
import numpy as np
In [51]:
file_name = f"seoul-covid19_{last_day}.csv"
file_name
Out[51]:
In [61]:
df = pd.read_csv(file_name)
df.shape
Out[61]:
In [62]:
df
Out[62]:
In [67]:
#연번을 기준으로 내림차순으로 정렬
df = df.sort_values(by="연번", ascending = False)
In [68]:
df.head()
Out[68]:
In [69]:
df.head()
Out[69]:
시각화 도구 불러오기¶
In [92]:
# matplotlib.pyplot
import matplotlib.pyplot as plt
plt.rc("font", family = "Malgun Gothic")
plt.rc("axes", unicode_minus = False)
pd.Series([1,3,5,7,-7,9]).plot.bar(title = "한글제목")
Out[92]:
'코딩' 카테고리의 다른 글
| DB (0) | 2020.08.19 |
|---|---|
| [데이터분석/오늘코드] 코로나19 데이터 pandas로 크롤링하기 3 (0) | 2020.08.10 |
| [데이터분석/오늘코드] 코로나19 데이터 pandas로 크롤링하기 2 (0) | 2020.08.09 |
| [SW Expert Academy/파이썬 프로그래밍 기초(1)] 3. 기초 문법의 이해 강의 내용 정리 (0) | 2020.04.04 |