본문 바로가기

list8

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.
딕셔너리 값 추출 예제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.
연습예제 1. 과목별평균 점수 전산 90, 영어 75, 수학 55 js = 90 en = 75 ma = 55 avg = (js+en+ma)/3 print(f"평균점수 : {avg}") 2. 입력한 숫자가 홀수 인지 짝수인지 판별 num = int(input("숫자를 입력해주세요")) if num % 2 == 0 : #나머지 구할시 %, 몫을 구할시 // print("짝수입니다") else: print("홀수입니다") 3. 주민등록번호 991120-106824 를 연월일과 뒷자리 따로 출력 i_num = '991120-106824' i_num_list = i_num.split('-') #.split('구분자')를 활용하여 주민번호를 쪼갠다 ymd = i_num_list[0] back_num = i_num_list[.. 2023. 10. 16.
리스트 : 2차원 배열 □ 리스트 2차원 배열 : 행과 열로 구분된 리스트 형태 □ 2차원 생성 #빈리스트 생성 a = [] #2차원을 위한 행과 열값 저장 #아래 코드는 총 3행 2열을 생성하는 것임 a = [[10,20],[30,40],[50,60]] #인덱스를 활용하여 행번호를 통한 값 조회 a[0] a[1] a[2] □ For문 활용한 2차원 생성 #생성할 행 리스트 변수 지정 a = [] #for문을 활용한 2차원 생성 for i in range(10): #생성할 행 범위 line = [] #생성할 열 리스트 변수 지정 for b in range(2): #생성할 열 개수 지정 line.append('*') #열에 채울 값 지정 a.append(line) #채울 값을 다시 행 리스트에 저장 #확인 print(a) □ +.. 2023. 10. 10.
리스트(list) 응용 □추가(리스트 맨 끝에 추가) : 리스트명.append(값) *append 사용시 복수개 요소를 동시에 추가 불가, 만약 사용시 에러 발생 >>> #빈 리스트 생성 >>> a = [] >>> a.append(10) #리스트 요소 추가 >>> a.append(20) #리스트 요소 추가 >>> a.append(30) #리스트 요소 추가 >>> a.append(40) #리스트 요소 추가 >>> a.append(50) #리스트 요소 추가 >>> print(a) □추가(리스트 중간에 추가) : 리스트명.insert(추가할 자리수, 추가값) #리스트 생성 b = [10,20,30,40,50] #중간에 요소 추가 b.insert(1,'추가 값') print(b) □제거①(인덱스를 활용하여 리스트 요소 제거) : re.. 2023. 10. 9.
리스트(List)와 튜플(Tuple) ○ 리스트 : [ ]로 값 저장, 값 지정 후 추가, 수정, 삭제 가능 #빈 리스트 생성 a =[] #range활용하여 값 추가 a=list(range(0,20,2)) print(a) #index를 활용하여 값 조회 print(a[0]) print(a[1]) print(a[-1]) print(a[-2]) print(a[5:]) print(a[:-5]) #index를 활용하여 값 변경 a[0] = '변경값1' a[7] = '변경값2' print(a) #len 활용하여 길이 확인 len(a) ○ 튜플: ( )로 값 저장, 값 지정 후 추가/수정/삭제불가 #빈 튜플생성 b=() #range 활용하여 값 조회 b=tuple(range(0,100,2)) print(b) #len 활용하여 값 길이 조회 print(.. 2023. 10. 8.
Step22. Collections(List&Map) □ Collections ○ List : 인터페이스로 이를 구현한 클래스는 인덱스를 이용해서 데이터를 관리 - 특징(1) 인덱스를 이용 - 특징(2) 데이터 중복 가능 ○ Map : 인터페이스로 이를 구현한 클래스는 key를 이용해서 데이터를 관리 - 특징(1) key 이용 - 특징(2) key 중복될 수 없음 - 특징(3) 데이터 중복이 가능 2023. 9. 26.