본문 바로가기
반응형

IT/Python37

파이선 3.11 에 대해서 얼마전 파이선 시장에서 흥미로운 얘기가 나왔다. 바로 파이선 3.11 버전의 출시였다. 기존까지 계속해서 출시가 되어왔는데 왜 이번에는 이렇게 주목을 받느냐. 그것은 바로 아래와 같은 이유들 때문이다. Faster CPython 파이썬 3.11 버전은 이전 버전에 비해 (3.10) 전반적인 실행 속도가 10%~60% 정도, 평균적으로는 25% 정도 빨라졌다고 한다. 설명만으로는 와닿지 않으니 한번 테스트를 해 보면 아래와 같다. import time def timer(function): def tictoc(*args, **kwargs): start = time.time() function(*args, **kwargs) print(f"Elapsed time: {(time.time() - start) * 1.. 2022. 11. 14.
cx_Oracle 이란? 파이선에서 oracle을 사용하기 위한 방법중 하나는 cx-oracle library를 사용하는 것이다. 일단 python에서 라이브러리를 사용하기 위해서는 pypi.org 사이트에 접속하여 cx-oracle 을 접속하여 tar나 whl 파일을 설치한다. 다음 코드에서 사용은 다음과 같다. import cx_Oracle as ociuserid = 'id'passwd = 'passwd'host = 'ip:port/SID명'conn = oci.connect(userid, passwd, host, encoding='UTF-8')cur = conn.cursor()그리고 insert 와 select 에 대한 쿼리는 아래와 같다.#insertlist =[ (1,2,3), (4,5,6), (7,8,9) ]cur.ex.. 2022. 11. 12.
read_csv() csv파일 읽기 pandas를 이용해 csv 파일을 불러오기 위해서는 아래와 같이 pandas를 먼저 import 그리고 약어로 지정한 pd를 사용하여 read_csv함수를 통해 csv 파일 import pandas as pd data = pd.read_csv('파일경로/파일이름.csv') csv파일 예시 CSV는 Comma Seperated Value의 약자로 ',' 쉼표(comma)로 분리된 텍스트 파일 예를 들면 아래와 같이 쓰여져 있는 텍스트 파일 이름, 성별, 키 데이콘, 남자, 180 홍길동, 남자, 175 아이유, 여자, 163 파라미터 read_csv는 여러가지 파라미터를 통해서 옵션을 줄 수 있고 더 많은 파라미터를 자세하게 확인하고 싶으시다면 판다스 공식 문서를 확인 filepath o.. 2022. 11. 8.
반복문 역순으로 돌기 python을 사용할때 반복문을 사용하기 위해서는 for i in range(10): 이런 식으로 사용을 하는데 거꾸로 역으로 작성을 해야할 일이 있다. 물론 10-i 로 진행을 해도 되지만 파이선의 기본 함수인 reversed 를 사용하면 편하게 구현할수 있다. for i in reversed(range(10)): 이렇게 작성해주면 된다. 2022. 10. 28.
정규표현식(한글, 특수문자 지우기) 이전 포스팅에서 정규 표현식에 대한 글을 다룬적이 있다. 자세한 사항은 아래 참고 포스팅을 확인해보는것을 추천한다. 이번 포스팅에서는 파이선에서 re 를 import하여 정규표현식을 통해서 한글과 특수문자를 지우는 법을 정리할 것이다. 코드는 다음과 같고 코드를 직접 확인. import re text = "abcd가나다라!@#!@#1234" korean = re.compile('[\u3131-\u3163\uac00-\ud7a3]+') #한글삭제 parseText= re.sub(korean, '', testText) #특수문자 삭제 parseText= re.sub('[-=.#/?:$}]', '', text) 참고 포스팅 https://thenicesj.tistory.com/334 정규 표현식 정리(Rege.. 2022. 10. 25.
list 안에서 최소 최대값 파이선에서는 이미 max 와 min 의 함수가 최대 최소 값이라고 정의 되어있다. 하지만 index를 구하기 위해서는 별도의 작업이 필요하게 된다. 이것을 numpy 라이브러리에서 좀더 쉽게 정의할수 있다. import numpy as np list=[2,1,4,3,5,9,6,7] min = np.argmin(list) // 1 출력 max = np.argmax(list) // 5 출력 해당 배열의 자리수를 출력해 준다. 2022. 10. 20.
파이썬에서 문자열 내에서 여러 문자열 찾기 파이선에서 string 안에 특정 문자열은 find를 사용해서 찾을수 있다. 여러개의 위치를 찾고 싶을때 find를 쓰면 제일 앞에 있는 문자열만 나오게 된다. 여러개의 문자열을 찾고 싶다면 아래와 같이 하면 된다. import re text = "ABC123ABC456DEF789" for text in re.finditer('ABC',text): print(text.start()) 이렇게 하면 반복문을 통해서 특정 문자의 위치가 나오게 된다. 2022. 10. 19.
sleep() / driver.implicitly_wait() 차이 파이선에서는 페이지 로딩 코드에 delay를 주기 위해서 사용하는것이 두가지 이다. sleep 과 driver.implicitly_wait() 이다. 물론 직접적인 차이는 webdriver 를 쓰냐 안쓰냐의 차이지만 예를들어 selenium을 할때 두가지의 차이가 확연히 보인다. time.sleep() : 프로세스 자체를 지정한 시간동안 기다려준다. (무조건 지연된다.) implicity_wait() : 브라우저에서 사용되는 엔진 자체에서 파싱되는 시간을 기다려준다. 좀더 설명을 하면 time.sleep() import time 필요 지정한 시간만큼 반드시 기다리고(쉬고) 다음 코드를 실행한다. implicity_wait() 셀레늄(selenium)에서만 사용하는 특수한 메소드 from selenium .. 2022. 9. 29.
특정 문자열에서 숫자만 추출하는 법 모든 숫자들을 1개의 문자열로 추출 : re.sub() re.sub()의 Syntax는 다음과 같다. sub()는 string에서 pattern과 일치하는 문자들을 repl로 교체하게 된다. re.sub(pattern, repl, string) 다음과 같이 sub()를 사용하여 문자열에서 숫자가 아닌 문자를 모두 제거하고 숫자로 구성된 문자열을 만들 수 있다. import re string = 'abc123zx456c' numbers = re.sub(r'[^0-9]', '', string) print(numbers) 이 결과는 123456 이 나오게 된다. 연속된 숫자들을 추출하여 List로 리턴 : re.findall() re.findall(pattern, string)은 string에서 pattern.. 2022. 9. 26.
반응형