728x90

프로그래밍 83

[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~끝 인덱스까지의 값을 반..

[JSP]소수점 반올림하기

jsp에서 수식으로 값들을 연산해서(특히 나눗셈) 값을 표현하는 경우 소수점을 정확히 예측하기가 쉽지 않다. 특히 표에서 그 수치를 보여줘야 할때는 가끔 예상했던 값과 오차가 생길때가 있는데 이럴때 일정한 형식으로 보여주기 위해서는숫자 포맷을 맞춰서 반올림 해야 하는데 통계수치를 보여주는 부분에서 그런 부분이 있어서 찾아보고 기억하기 위해서 이렇게 남긴다. // 빼먹으면 안된다!a : // a는 3.14 출력b : //b는 1234.57 출력c : // c는 9876.54 출력pages : 자꾸 까먹어서 이렇게 남겨 본다. [출처]http://blog.naver.com/PostView.nhn?blogId=roggue2&logNo=40121426677

프로그래밍/JSP 2017.10.19

[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]UnicodeDecodeError: 'ascii' codec can't decode byte 0xbe in position 0: ordinal not in range(128)

Python 에러 UnicodeDecodeError: 'ascii' codec can't decode byte 0xbe in position 0: ordinal not in range(128) 위의 에러를 잡는 방법을 우연히 찾게 되서 공유해 본다. 1. Python이 설치된 경로(e.g. 나의 경우에는 C:\python)의 lib 디렉토리(윈도니까 폴더라고 해야하는 것인가)에 있는 site.py(c:\python\lib\site.py)를 열어 479, 490 라인의 ascii를 utf-8로 수정한다.def setencoding(): """Set the string encoding used by the Unicode implementation. The default is 'ascii', but if yo..

[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