SQL과제 1 리뷰

suji·2022년 11월 19일

SQL

목록 보기
4/4

zerobase 7기 11주차 리뷰

새로 알게 된 점 & 어려웠던 점

💡 팝업창 닫기

  • 내가 쓴 코드
try:
    driver.find_element_by_css_selector('.holiday_notice_close a').click()
except:
    print('현재 팝업창이 없습니다.')

print()로 예상되는 문제 직접 적어 출력


  • 다른 방법
    ==> 위 붉은 글씨 NoSuchElementException 활용
# 팝업창 닫기
from selenium.common.exceptions import NoSuchElementException

try:
    driver.find_element_by_css_selector('.holiday_notice_close a').click()
except NoSuchElementException as e:
    print(e)

💡 전체 데이터 가져올 때 DataFrame만들지 않고 바로 Table에 입력하는 방법

sql = "insert into coffee_store (brand, name, gu_name, address, lat, lng) values (1,%s,%s,%s,%s,%s)"

for content in tqdm_notebook(seoul_list):
    name = content['data-name']    # 매장 이름,
    address =  content.select_one('p').text[:-9]   # 주소
    gu_name = address.split()[1]    # 구 이름
    lat = content['data-lat']       # 위도
    lng = content['data-long']      # 경도
    
    cur.execute(sql, (name,gu_name,address,lat,lng))
    local.commit()

💡 긴 sql문 여러 줄로 나눠서 정리하는 방법

sql = "select ~~ " + \
    "from ~~ " + \
    "where ~"

💡 sql에서 컬럼 이름 가져오는 방법

import pandas as pd

num_fields = len(cur.description)
field_names = [i[0] for i in cur.description]

💡 가져온 컬럼 이름 DataFrame에 한 번에 넣기

df = pd.DataFrame(store)
df.columns = field_names

💡 df.to_csv('coffe_output.csv', index=False, encoding='utf-8-sig')와 df.to_csv('coffee.csv', encoding='utf-8-sig')의 차이점

index=False 옵션을 넣어주면 index number없이 바로 컬럼값들이 들어간다!



📝 자주 쓰였던 코드

cur.execute('select * from tableName')
result=cur.fetchall()
for row in result:
    print(row)

📝 to_csv로 엑셀파일로 저장할 때 한글 깨짐 방지

df.to_csv('coffe_output.csv', index=False, encoding='utf-8-sig')
profile
learning Data Science

0개의 댓글