반응형

Programming 164

[Django] 01. 설치 및 환경 설정

Django 시작 일단 파이썬이 데이터 핸들링에 쉽기 때문에 그냥 django를 선택했음. maven build 이런거 하기 싫음... 자바 특히 ㅠㅠ 그게 너무 싫음 Reference 문서 https://docs.djangoproject.com/ko/2.0/ Django 설치 https://docs.djangoproject.com/ko/2.0/topics/install/ 일단 기본적으로 EC2에는 python3가 설치되어 있기 때문에 아래 추가를 하자 ~/.bashrc $ alias python='python3' pre-installation https://virtualenvwrapper.readthedocs.io/en/latest/ - (선택) https://pip.pypa.io/en/stable/i..

Programming/Web 2017.12.17

파이썬(Python) 리스트 모든 조합 구하기 (combination vs permutations vs product)

파이썬 (Python)에서 리스트에 있는 값들의 모든 조합을 구하기 파이썬에서 리스트에 있는 값들의 모든 조합을 구하기 위해서는 여러가지 방법이 있다. 파이썬 기본 라이브러리인 itertools을 사용하면 쉽게 구할 수 있다. 하지만 각각의 차이점을 알고 있어야 한다. 사용시기 하나의 리스트에서 모든 조합을 계산을 해야 한다면, permutations, combinations을 사용 두개 이상의 리스트에서 모든 조합을 계산해야 한다면, product를 사용 하나의 리스트에서 모든 조합을 구하기 두개 이상의 리스트의 모든 조합 구하기

Programming/Python 2017.12.17

쉘(Shell)에서 중복단어 제거하기

쉘에서 중복단어 제거하는 방법 (Shell: How To Remove Duplicate Text Lines) 사전을 만든다고 할때 unique한 단어만 가져와야 할때 간단하게 쉘 스크립트로 작성이 가능하다. pipeline은 정말 강력한 무기인듯 하다. uniq와 sort를 통해서 중복된 단어를 제거하는 예제를 소개한다. 사용예 사용전 banana banana apple banana 실행후 apple banana 명령어(syntax) sort {file-name} | uniq -u sort all_words.txt | uniq -u > uniqu_words.txt

Programming/Shell 2017.12.10

쉘(Shell)에서 POST시 json 데이터에 변수 넣기

쉘에서 curl post할때 json형식의 데이터를 사용하는 방법 쉘에서 json형식의 데이터를 curl을 통해 POST로 요청할때가 있는데, 파라미터로 받은 값, 또는 변수의 값을 직접 사용하면 json의 형태로 만들기 어렵다. 아래 방식을 이용하면 슆게 json 데이터의 형태로 post요청을 할 수 있다. 코드 물론 아래에 POST $HOST -d json을 넣을 수 있지만, 아래 함수와 같이 함수화를 하지 않으면 에러가 난다.

Programming/Shell 2017.12.10

쉘(Shell)에서 파일 읽어 변수로 저장

쉘에서 파일을 읽어서 파일에 있는 값을 변수로 저장하는 방법 쉘에서 파일을 저장하고, 그 파일의 값을 읽어서 변수로 사용하는 경우가 있다. 예를 들면 어떤 설정값을 미리 저장해놓고, 그 값에 따라 쉘에서 동작을 다르게 하고 싶을때가 있는데, 이때 사용하면 매우 유용하다. 코드 아래 파일 info.txt의 파일의 값을 읽어서 변수에 저장하는 코드이다. info.txt A=15 B=23 C=4

Programming/Shell 2017.12.10

파이썬(Python) 한글 문자 길이

파이썬 (Python)에서 한글 문자 길이에 대해서 작성한다. 파이썬에서 제일 거지같을 때 만약 파이썬에서 그냥 len(text)를 하면, 어떻게 결과가 나올까 결론부터 말하면 정말 거지같은건 파이썬 2.x의 버전에서는 기본 인코딩은 ascii 이기 때문에 unicode로 처리를 해야 한다. 만약 len(text)를 한다면 len('바나나')의 결과는 3이 아닌 9가 나온다 파이썬에서는 인코딩(encoding)문제가 많아서, 확실하게 이해하고 하나의 솔루션을 만들어 놓는게 좋다. 예를 들면 모든 텍스트에 hangul('바나나')에서 hangul 함수를 만들어 놓으면 좋다. 3이아닌 9가 나오는 이유 그 이유는 ? '바나나'의 값은 다음과 같다 '\xeb\xb0\x94\xeb\x82\x98\xeb\x82\..

Programming/Python 2017.12.10

C를 Python으로 Wrapping하는 방법

C 모듈을 파이썬에서 사용하는 방법 Python에서 C모듈을 Wrapping해서 사용하는 방법에 대해서 설명한다. 보통 Python에서는 성능상 이슈가 있기 때문에, C로 작성된 라이브러리를 사용을 한다. C로 작성된 코드를, Python에서 호출 가능하도록 swig를 이용해서 아래와 같이 사용하였다. wrapping될 C코드 파일 설명 /* flags.c – Source file */ ```c include include “flags.h” int gFlag = 0; void welcome_msg(char *msg) { printf(“%s\n”, msg); return; } int get_flag() { return gFlag; } void set_flag(int flag) { gFlag = flag; ..

Programming/Python 2017.12.10

쉘 특정 컬럼 더하기

쉘(shell)에서 특정 컬럼 더하기 데이터 분석을 하다 보면 특정 컬럼의 값을 더할 때가 있다. 예를 들어서 positive/negative의 비율(ratio)을 확인할 때, label의 값이 0 또는 1의 값이면, 1의 값을 모두 더하면 positive의 개수를 알 수 있다. 전체 positive의 개수를 확인하고, 파일의 line수를 계산하면 쉽게 알 수 있다. shell $ cat data | wc -l 데이터 1 2 3 4 5 6 7 8 9 명령어 shell $ cat data | awk '{sum+=$2 ; print $0} END{print "sum=",sum}' 출력 결과 1 2 3 4 5 6 7 8 9 sum= 15

Programming/Shell 2017.11.06

파이썬 HTML 파싱 하는 방법

파이썬(Python) beautifulSoup 사용해서 html page 파싱(parsing) 데이터 scrap을 할때 많이 사용하는 beautifulsoup을 이용해서 html page를 parsing 하는 코드 (아래 참고) 코드 간단 설명 특정 tag의 값(text)을 가져오기 html page의 값을 가져온 이후에 soup.p의 tag의 값을 가져온다 p의 tag를 갖고 있는 text를 가지고 와서 words로 split p의 id로 가져오기 모든 paragraph의 리스트를 가져오기 p의 tag 중 important class의 값을 갖고 있는 paragraphs 가져오기 span의 요소 안에 포함된 모든 div를 가져오기 코드

Programming/Python 2017.11.02

한개의 파일을 여러 파일로 (데이터 분할)

command to split the file into multiple files 한개의 파일을 여러 파일로 분할하는 방법 데이터의 사이즈가 너무 크게 되면 메모리에 올릴 수 없다. 파일 하나를 shuf하거나 다른 작업을 할때, 메모리가 넘칠 수 있다. 하나의 파일을 여러개의 파일로 분할하자 파일의 개수와, 행의 개수를 지정 한다. 코드

Programming/Shell 2017.11.02
반응형