일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- webpack
- 보안
- security
- leetcode
- bash
- C++
- VUE
- C#
- property
- 앙상블
- var
- condition
- git
- TypeScript
- AI
- scss
- machine learning
- generic
- BOJ
- docker
- Clone
- vuetify
- type
- loop
- npm
- nginx
- JavaScript
- vue.js
- dotenv
- Python
- Today
- Total
목록Development/Python (6)
ice rabbit programming
virtual env(가상 환경) python을 좀 다루었다면, env를 많이 이용할 것이다. 해당 프로그램만을 위한 환경을 위해 env를 따로 만들어서 python을 실행하는 것이다. 그렇기 때문에 가상 환경을 켜고 패키지를 설치하면, 같은 디렉토리라도 가상 환경을 껐을 경우 제대로 실행이 되지 않는다. 위 말이 좀 추상적이라고 생각한다면, 서로 요구한 패키지의 버전 등이 다른 프로젝트끼리 충돌이 일어나지 않게 하기 위해 각각의 환경을 구축하는 것이다. ex) A 프로젝트에서 0.1버전 요구, B 프로젝트에서 0.2버전 요구. 환경이 나누어져있지 않다면 충돌 발생 패키지 매니저 node.js를 사용해보았다면 package.json이 친숙할 것이다. npm은 node.js의 패키지를 관리해주는데(yarn..
대부분의 언어에는 파일 입출력 기능을 제공한다. 심플함이 모토인 파이썬답게, 파일 입출력 쪽도 간단하게 구현할 수 있다. 이번 포스팅에서는 그 중에서 패키지를 활용한 Excel 파일 읽기를 다룰 것이다. pip install xlrd로 패키지를 우선 설치하고, 다음 코드로 간단하게 파일을 읽어올 수 있다. import pandas as pd data = pd.read_excel("./data.xls") 간단한 코드로 data에는 data.xls의 내용들이 담긴다. 단, 엑셀 파일 내에 header가 존재한다면 타입이 다르기 때문에 우리가 원하는 형태인 row별 데이터를 뽑아올 수 없다. extract_data = data["코드"] 이런 식으로 데이터를 가공해주는 것이 필요하다.
python은 스타일 가이드가 꽤 엄격한 편에 속한다. 특히 다른 언어에서는 논쟁거리가 되는 indent(들여쓰기)가 아예 문법으로서 기능하기도 한다. PEP-8이라는 공식 스타일 가이드를 배포하는데, 양이 매우 방대하다. C#에서 문법 검사 및 오토 포매팅해주는 툴인 Resharper를 사용해보고, 툴의 강력함을 느꼈었는데, VS Code에서는 무료 확장으로 많은 linter를 제공한다. 본인은 많이 쓰는 pylint, pyright, black을 설치하여 사용하고 있다. (좀 더 자세한 설명을 원한다면 VS Code 공식 문서 혹은 이쪽 글에도 비교 정리가 잘 되어있다.) 이번 포스팅에서는 간략한 개요와, 설치 가이드 위주로 다룰 예정이다. Code Style Checker 문법 검사를 하고 Warn..
이전 글에서 Python에서의 함수와 반복문 등을 다루었는데, 이 글에서는 그런 식으로 정리하는 것은 아니고 기초 문제들을 풀면서 얻은 팁/지식/개념에 대해서 나열해보고자 한다. 정리가 잘 안되어 있다.. 시퀀스 타입 리스트 : [] 안에 숫자/문자 나열 + 연산자를 통해 두 리스트를 합칠 수 있다(ex. [1,2]+[3,4] = [1,2,3,4]) 튜플 : () 안에 나열, 리스트와 같지만 요소의 값 변경이 불가하다. 딕셔너리 : {} 안에 나열, key:value 로 구성되어 있다. dict[key]로 value에 접근할 수있다. key 추출 : dict.keys() value 추출 : dict.values() 모두 추출 : dict.items() len(list)를 통해 시퀀스 길이를 가져올 수 있..
이전 글에서 한 번 언급했던 것처럼, 업무 스택이 C# 클라이언트 프로그래밍에서 Python 서버 프로그래밍으로 변경되었다. Python을 안 써본 것은 아니지만, PyQT나 OpenCV, Tensorflow처럼 필요에 따라서 쓴 정도기 때문에 기초 문제를 푸는 강의를 수강하면서 개념을 정리했다. 다만 이론 강의를 듣는 형태가 아니라 주어진 문제를 풀면서 개념을 습득하는 형태라 정리를 한다고 했으니 다소 중구난방일 수는 있다... 가장 먼저 Python은 인터프리터 언어로, 코드를 한 줄씩 해석하게 된다.또한 PEP8이라는 정식 코드 가이드가 있는데, 이것의 준수가 꽤 엄격하게 적용되어야 한다. https://www.python.org/dev/peps/pep-0008/ 을 참조하면 좋다. 아마 타 언어와..
크롤링 크롤링은 웹 페이지에서 필요한 데이터를 추출하는 작업이다. 이 데이터들을 원하는 형태로 파싱하여 사용한다. 도식화하여 과정을 보면 다음과 같다. 웹에서 HTML 구조 파악 -> request로 HTML 가져오기 -> HTML 분석하여 필요한 데이터 가져오기 -> 개행 문자 등 필요 없는 부분 필터링(파싱) -> 실제 사용 가져온 HTML을 분석하는 도구에는 여러 가지가 있지만, 여기서는 가장 널리 쓰이는 BeautifulSoup을 사용한다. BeautifulSoup은 HTML뿐 아니라 XML, JSON 등을 모두 분석할 수 있다. 아래와 같이 객체를 만들고 분석할 수 있다. soup = BeautifulSoup(open("index.html"), "html.parser") # 객체 생성 soup...