1/2
코랩에 데이터 다운로드하기: gdown 패키지
import gdown
gdown.download('주소명','파일이름',quiet=false)
파이썬으로 csv 파일 출력하기
with open('파일이름',encoding='인코딩형식') as ? :
print(?.readline())
파일인코딩 형식 확인하기: chardet.detect() 함수
import chardet
chardet.detect(?)
데이터프레임 다루기:판다스
csv파일을 데이터프레임으로 읽기: read_csv()함수
import pandas as pd
변수=pd.read_csv('파일이름',encoding='인코딩형식')
변수.head() 처음 다섯 개 행을 보여준다
데이터프레임을 csv파일로 저장하기: to_csv() 메서드 #UTF-8형식으로 저장
변수.to_csv('저장할 이름') #만약 인덱스르 빼고 저장하고 싶으면 매개변수에 index=False 넣기
json 데이터 딕셔너리와 리스트를 중첩해 놓은 것과 비슷 # {"키":"밸류"}
파이썬 객체를 json 문자열로 변환하기: json.dumps() 함수
import json
변수=json.dumps(파이썬객체,ensure_ascii=False)
# ensure_ascii=False는 딕셔너리에 한글이 포함하면 넣어야한다
json 문자열을 파이썬 객체로 변환하기 json.loads() 함수
변수=json.loads(json 문자열)
json 문자열을 데이터 프레임으로 변환하기: read_json() 함수
import pandas as pd
pd.read_json(변수)
xml 문자열을 파이썬 객체로 변환하기: fromstring() 함수
import xml.etree.ElementTree as et
변수=et.fromstring(xml 문자열)
변수.tag # 객체의 tag 확인
자식 엘리먼트 확인하기: findtext() 메서드
변수=book.findtext('찾을태그')
파이썬으로 API 호출하기: requests 패키지
import requests
url='url 주소'
변수=requests.get(url)
#변수.json() 웹 서버로부터 받은 json 문자열을 파이썬 객체로 변환하여 반환
데이터프레임 행과 열 선택하기: loc 메서드
df변수명.loc[[행 인덱스],['열이름1','열이름2'...]]
리스트 대신 슬라이스 연산자 사용가능 books_df.loc[0:1,'bookname':'authors'] #loc 메서드의 슬라이싱은 파이썬과 다르게 마지막 항목도 포함한다.
파이썬 처럼 스템 지정 가능 books_df.loc[::2,'no':'isbn13']
HTML에서 데이터 추출하기: 뷰티플수프
from bs4 import BeautifulSoup
변수=BeautifulSoup(파싱할 html문서, 파셔) 파서의 ex)'html.parser'
태그 위치 찾기:find() 메서드
변수=객체.find('찾을 태그 이름',attrs={'':''}) 태그의 속성을 딕셔너리로 저장 {'class':'gd_name'}
테이블 태그를 리스트로 가져오기: find_all() 메서드 변수.find_all('찾을 태그')
태그 안의 텍스트 가져오기: get_text() 메서드
def get_page_cnt(isbn):
url='https://www.yes24.com/Product/Search?domain=BOOK&query={}'
r=requests.get(url.format(isbn))
soup=BeautifulSoup(r.text,'html.parser')
prd_info=soup.find('a',attrs={'class':'gd_name'})
url='https://www.yes24.com'+prd_info['href']
r=requests.get(url)
soup=BeautifulSoup(r.text,'html.parser')
prd_detail=soup.find('div',attrs={'id':'infoset_specific'})
prd_tr_list=prd_detail.find_all('tr')
for tr in prd_tr_list:
if tr.find('th').get_text()=='쪽수, 무게, 크기':
return tr.find('td').get_text().split()[0]
return ''