728x90

파이썬 9

[Python]Window에서 파이썬 2.7과 3.6 같이 사용하기

윈도우에서 파이썬 2.7을깔고 3.6을 설치하면 기본적으로 command창에서 python 을 실행해 보면 2.7이 기본으로 RSTL이 실행된다. 맥에서는 python 과 python3으로 구분해서 사용하는데 윈도우에서는 그방법을 몰라서 찾아보니 우선 Python3.* 설치 경로(C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\)를 환경변수 Path에 추가해주고 추가로 Scripts폴더까지 추가로 설정해 줘야 한다.(C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Scripts\) 그리고 윈도우 커맨드창(cmd)에서 py -3(중간에 한칸을 띄어줘야 한다. )을 입력해 ..

[Python]datetime

python에는 datetime이라는 클래스가 있는데 import datetime 으로 불러와서 현재 시간이나 시간에 대한 것들을 표현할 수 있다. import datetime now = datetime.datetime.now()print(now) #현재 시간 출력 그리고 문자열로 현재의 날짜를 출력하려면date = now.strftime(%Y-%m-%d)print(date) #2017-10-25 문자를 datetime객체로 변환 하려면datetime.datetime.strptime()함수를 이용해서 변경할 수 있다. 그리고 날짜를 변경할때는 ndate = date.replace(day=26)위와같이 replace로 변경할 수 있고 d = datetime.date(2017, 10, 25)t = datet..

[Python]Slice 사용법

파이썬에서 list와 문자열은 비슷한 특징을 갖는데 그중에서 많이쓰는 기능은 slice를 통해서 값을 자르거나 변경하거나 추가하는 것인데 간단하게 그 방법을 정리해 보려고한다. >>> list(range(10)) #으로 실행하면 [0,1,2,3,4,5,6,7,8,9]의 리스트가 만들어 진다. >>> list[1:4] #[1,2,3]을 반환한다. 첫번째 index포함 두번째 index전까지의 값을 가져온다. >>> list[0:len(list)] #이렇게도 전체 리스트를 반환받을 수 있지만>>> list[:] #중간에 [:]콜론을 사용해도 전체 리스트를 받을 수 있다.>>> list[:4] #이렇게 사용하면 0~3번째 인덱스 값을 반환하고>>> list[3:] #이렇게 사용하면 3~끝 인덱스까지의 값을 반..

[Python]Dictionary 사용

Dictionary 선언dic = { 'first':'one','second':'two','third':'three'}기본적으로 {}로를 이용해서 선언하고 key 와 value로 이루어진 한쌍의 값으로 선언한다. 리스트에서는 value만 세팅하면 그에 맞는 인덱스가 자동으로 생성되서 부여되므로 순서를 맞출때 편한 점이 있지만key를 가지고 요소를 찾을때는 dictionary가 이용하기 편하다고 할 수 있겠다. 보통 for문에서 dictionary 사용 방법은 두가지가 있겠는데for key in dic.keys() : #keys()는 생략가능하다.print(key) 이렇게 사용하면 key 즉 'first', 'second','third'가 출력되고 for value in dic.values():print(..

[Python] range, enumerate

Python 반복문 for를 사용할때 많이 사용하는 용어는 range와 enumerate이다. 일반적인 for 문은 list = [0, 1, 2, 3, 4, 5]for i in list:print(i) 이런 모양을 사용한다. 하지만 저렇게 0-5처럼 순차증가하는 리스트는 작성하는 것은 작은수 일때는 별일 아닐수 있지만100단위가 넘어가는 숫자에는 굉장히 노가다라고 할 수 있다. 그런 불편함을 해결하기 위해서 나온 함수가 range이다. range는 범위라는 뜻처럼 사용할 수 있다. for i in range(6):print(i) 이렇게 만들어서 실행하면 위와 똑같은 값이 출력될 것이다. range의 사용법은 아래와 같고 물론 끝의 값 제외되는 (다른 프로그램에서 for(var i=0;i

[Python] SyntaxError: Non-ASCII character '\xeb' in file test.py on line 5, but no encoding declared;

Python 에러 SyntaxError: Non-ASCII character '\xeb' in file test.py on line 5, but no encoding declared; # -*- coding: cp949 -*-from bs4 import BeautifulSoup # -*- coding: utf-8 -*-from bs4 import BeautifulSoup 한글은 코딩할때 unicode로 저장하는게 좋고 hi = u'안녕하세요'type 함수를 통해 현재 내가 변수에 저장한 문자열이 str(아스키코드)인지 unicode인지 확인이 가능하다. unicode로 넘어온 데이터를 변수에서 한글깨짐때문에 cp949나 utf-8로 인코딩해서 변수에 넣어 줬다면엑셀에 한글 데이터를 집어넣을려면 unico..

[Python]Excel로 데이터 내보내기

오라클에서 데이터를 읽어와서 글자수를 센 후 그 단어 수를 세팅해서 엑셀로 내보내려고 xlsxwriter 를 사용해서 엑셀 내보내기를 했다. 시키는대로 했지만 오류가 뙇..!!!!!!!! UnicodeDecodeError: 'utf8' codec can't decode byte 0xa1 in position 52: invalid start byte라는 에러가 나왔다.... 검색을 해보니 ascii코드관련 에러인데 이것과 관련된 것같다. 그래서 우선 엑셀을 쓰기위해서 import sysreload(sys) sys.setdefaultencoding('Cp1252')위와같은세팅을 해줬더니 파일은 써졌는데...Representative’ ->Representative¡¯ 이렇게 깨져서 나왔다. 우선 오늘은 엑셀..

[Python]tuple 값변경

oracle에서 데이터를 읽어오는데 성공해서 값을 가져오고 해당 값을 핸들링하려고 하니 tuple이라서 값 변경이 되지 않았다. tuple이 원래 변경이 안되는 것이다. (수정, 삭제, pop(), del 등...)그래서 알아보니 list로 형변환을 해서 해당 인덱스에 접근하면 값변경이 가능했다.물론 tuple ->list ->setValue ->tuple 이라는 형변환 과정이 필요하지만 그렇게 되있으니 어쩔... ㅋㅋㅋㅋㅋ tp = ('111', '2222', '3333', '4444', '5555')lst = list(t)lst[0] = '1111'tp = tuple(lst) 위와같이 생성된 tuple을 리스트로 변환 후 값을 set 해주고 다시 tuple로 형변환 해주면 되시겠다. 아 형변환도 심플..

[Python]nltk 설치

영어 관련 게시판에서 본문 단어의 수를 체크 하는 프로그램을 파이썬으로 만들면서 자연어 처리가 필요해서 nltk를 설치하는데 윈도우에서는 pip를 사용할 수 없는 줄 알고 실행파일(exe)파일을 다운받았는데 파이썬 3.*대 버전이 아니라서 에러가 났다. 그래서 다른 방법을 찾아보니 > python -m pip install nltk 로 설치가 가능했다. python -m 이라는 옵션을 사용하면 pip를 윈도우 콘솔에서도 사용 가능한 것이다.(나만 몰랐나?ㅎㅎㅎ) 거기다가 pip 버전도 업그레이드 하라고 권장하길래(nltk설치하고 나니까 친절한 파이썬씨)>python -m pip install --upgrade pip로 업그레이드까지 해줬다. 물론 이 콘솔 명령어도 파이썬씨가 알려주었다. 참 친절한 파이썬..

728x90