본문 바로가기

자료구조9

openpyxl을 활용한 데이터 크롤링 및 엑셀저장 ※ 해당 크롤링 사이트는 작성자가 수강료를 지불하고 '잔재미코딩 : 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (2023년까지 업데이트)' 강의에서 제공한 사이트임. ※ 수강하면서 별도 코딩하고 녹화하였음. TMI 지만 잔재미코딩 강의 강추합니다. □ 목적 : 상품명과 등록일에 대한 태그값을 활용하여 크롤링한 데이터를 openpyxl 라이브러로 엑셀로 저장 #관련함수 라이브러리 실행 import requests #크롤링관련 라이브러리 from bs4 import BeautifulSoup #크롤링관련 라이브러리 import openpyxl #엑셀관련 라이브러리 #★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ #1단계 : 함수정의★★★★★★★.. 2023. 12. 27.
리스트 기본 □ 리스트(List) ○ 여러가지 관계가 있는 데이터를 하나의 변수로 다루는 방법 ○ 대괄호 [ ] 를 사용하여 데이터 저장 ○ ex = ['a','b','c','d','e',1,2,3,4,5,True,False] ○ 각 데이터는 인덱스를 사용해서 다룰 수 있음 □ 리스트 생성 location = ['서울시', '경기도', '인천시'] □ 인덱스 출력 location[0] #서울시 출력 location[1] #경기도 출력 location[2] #인천시 출력 □ 인덱스 추가 .append(추가 값) *복수개 추가는 불가 location.append('전라도') location.append('경상도') □ 인덱스를 활용한 슬라이싱 print(location[0:2]) print(location[3:5]) □.. 2023. 11. 28.
딕셔너리 조회 예제 (dictionary comprehension + input함수) #아래 Dict 데이터에서 사용자 입력으로 키(Key) 로 검색 후 값을 반환하시오 dict_data = {'USA' : 36, 'Germany' : 17, 'France' : 32, 'Australia' : 77, 'South Africa' : 99, 'India' : 108, 'South Korea' : 200} #예제 풀이① search_Keyword = input('국가명을 영문으로 입력해주세요(미국은 USA, 미국 제외한 국가는 첫글자만 대문자로 기재) : ') #input 함수 지정 #입력받은 값에 따라 if문사용 if search_Keyword in dict_data.keys(): print_value = dict_data.get(search_Keyword) print(f'풀이방법1 : 입력.. 2023. 11. 13.
enumerate() □ enumerate() 파이썬 내장함수로 열거형 객체를 반환하고 카운터 변수도 추가해줌 □ enumerate(iterable, start = 시작값) ○ iterable 길이만큼 인덱스를 생성해줌 ○ start 값을 정하여 시작 인덱스를 지정 가능 □ 아래 한 개의 리스트를 딕셔너리형식으로 변환하시오 l= ["red","black","blue","orange","purple"] #방법1 d1 = dict(enumerate(l)) #enumerate + 형변환 print(d1) d2 = dict(enumerate(l, start=100)) #형변환 print(d2) d3 = dict(enumerate(l)) print(d3) 2023. 11. 8.
딕셔너리 ↔ 자료구조 형변환 #json.dumps(dict,indent) #json.dump(dict, file_pointer) #json으로 형변환 d = {"group1":[ {'name':'Park', 'age':'32', 'sex':'Male'}, {'name':'Cho', 'age':'44', 'sex':'Female'}, {'name':'Kang', 'age':'39', 'sex':'Female', 'married':'No'} ], "group2":[ {'name':'Kim', 'age':'23', 'sex':'Male', 'married':'Yes'}, {'name':'Lee', 'age':'37', 'sex':'Male', 'married':'No'} ], "type": {'a':'employee', 'b':'offi.. 2023. 11. 7.
딕셔너리 값 추출 예제2 #아래 딕셔너리에 group1에 {'name':'Park', 'age':'32', 'sex':'Male','married':'Yes'} 추가, type에 {'f':'engineer'} 추가 d = {"group1":[ {'name':'Park', 'age':'32', 'sex':'Male'}, {'name':'Cho', 'age':'44', 'sex':'Female'}, {'name':'Kang', 'age':'39', 'sex':'Female', 'married':'No'} ], "group2":[ {'name':'Kim', 'age':'23', 'sex':'Male', 'married':'Yes'}, {'name':'Lee', 'age':'37', 'sex':'Male', 'married':'No'}.. 2023. 11. 7.
[Python] 리스르 스플릿 Split Lists Into N Chunks □ range 함수 ○range(시작값, 종료값) new_range = range(0,100) #0~100범위 지정 list(new_range) #범위 지정한것을 바탕으로 리스트 생성 print(list(new_range)) ○range(시작값, 종료값, 증가개수) second_range = range(0, 100, 10) #0~100범위 10씩증가한 값으로 지정 list(second_range) print(list(second_range)) #================================================== #second_range에 0부터 10000까지 범위중 100씩 증가하는 값들로 리스트 데이터 적재 #즉, 0~9999까지 100씩 증가하는 값들록 이루어진 리스트로 길이는.. 2023. 11. 3.
[Python] 딕셔너리 □ 자료구조 딕셔너리 형태는 key와 value로 구성되어 있으며 { } 감쌈 □ 자주 사용하는 함수 : get(), values(), keys() □ json과는 다름. json은 javascript에서의 오브젝트이며 데이터를 교환하기 위한 규약된 폼임 #에제: 딕셔너리 합산 구하기 dict = {'a':17, 'b':114, 'c':247, 'd':362, 'e':220, 'f':728, 'g':-283, 'h':922} print(dict.values()) #딕셔너리 value 값 추출 : .values #방법① sum = 0 for i in dict: sum += dict[i] print(f'sum : {sum}') #방법② total = 0 for a in dict.values(): total .. 2023. 11. 1.
[Python] 중복제거(자료구조 set) □ set : 집합자료형 중복 허용하지 않음 순서없음 □ List, Tuple : 순서있음, 중복허용 #아래 리스트에서 중복되는 원소를 제거 후 출력하세요. x = ["a", 1, "b", "a", 2, 3, "b", 4, 5, "b"] #방법1 ex1 = set(x) print(f'ex1 = {ex1}') #방법2(순서유지) from collections import OrderedDict #OrderedDict 라이브러리 호출 및 fromkeys 메서드 활용 ex2 = list(OrderedDict.fromkeys(x)) print(f'ex2 = {ex2}') #방법3(순서유지) ex3 = [] for i in x: if i not in ex3: ex3.append(i) print(f'ex3 = {ex.. 2023. 11. 1.