본문 바로가기

전체 글

(205)
[Python] 파이썬으로 엑셀 파일(xlsx) 다루기 (읽기,쓰기,수정,추가) 파이썬으로 데이터 분석 업무를 하다보면 엑셀 파일(csv, xlsx)들을 다룰때가 많습니다. 예전에는 csv 파일 읽고 처리하는 법을 살펴보았는데, csv와 xlsx 파일을 엄연히 다른 파일이기 때문에 서로 다르게 처리를 해주어야 합니다. 이번 시간에는 xlsx 파일에 대해 처리하는 방법에 대해서 살펴봅시다! 모듈 설치 xlsx 파일을 읽으려면 openpyxl, pandas, xlrd 모듈 등이 있는데, 이 글에서는 pandas를 통한 방법으로 진행하겠습니다. 실제로 pandas가 데이터 분석을 위한 많은 툴을 지원하기 때문에 애초부터 pandas로 접근하는 것을 추천드립니다. 먼저 판다스를 설치합니다. 판다스는 결국 내부적으로 openpyxl, xlrd를 사용하기 때문에 함께 설치해줍니다. pip in..
[SQL] 특정 컬럼에서 가장 긴 문자열 찾는 SQL 쿼리 특정 테이블의 컬럼에서 가장 긴 문자열을 가진 ROW을 찾으려면 아래 쿼리를 통해 찾을 수 있다. select * from 테이블명 where length(컬럼명) = (select max(length(컬럼명)) from 테이블명); 먼저 Select max ~ 쿼리를 통해서 가장 긴 문자열의 길이를 찾고, 해당 길이와 같은 컬럼을 가져오는 쿼리다.
[python] nonlocal 키워드 그리고 global 와의 차이점 파이썬 코딩 테스트를 풀다가 문제가 안풀려서 찾다보니 nonlocal 키워드라는 것을 알게 되었다. nonlocal 키워드를 알기 전에 내가 겪게된 문제 상황을 먼저 설명하는 것이 좋을것 같다. 문제 상황 def test(): a = 3 def sum(): a = 7 return True sum() return a result = test() # 3이 출력됨 print(result) 일단 파이썬 함수 안에서는 함수를 따로 정의할 수 있고, 내부에 정의된 함수는 자신을 정의한 함수의 변수에 접근할 수 있다. (이런 기능을 클로저라고 한다) 원래 의도는 sum 함수 내에서 a 값을 7로 변경하고 이를 test 함수에서 return 하는 것이다. (물론 실제 겪었던 문제는 훨씬 복잡했지만 이해를 위해 간단한 ..
[python] 두 변수의 값 비교 및 같은 객체인지 확인하는 assert문 파이썬을 쓰다보면 두 변수의 값과 가리키는 객체가 같은지를 비교해야 할 떄가 있다. 보통 값을 비교할 떄는 == 을, 객체를 비교할 때는 is를 쓴다. >>> a = [1,2,3] >>> b = [1,2,3] >>> a is b False >>> a == b True a와 b 리스트의 값은 같지만, 두 변수는 가리키는 객체가 다르다. 만약 '두 변수의 값이 같고 두 객체는 서로 달라야 한다'라는 조건이 필요하면 아래와 같이 assert를 통해 해당 경우가 아닐떄 에러를 유발시킬 수 있다. >>> assert b == a and b is not a >>> a = [1,2,3] >>> b= a >>> assert b == a and b is not a Traceback (most recent call las..
[python] 파이썬 버전 확인하기 파이썬 버전을 알아보는 방법은 다음과 같다. CLI를 통해서 버전 확인하기 $ python --version Python 2.7.17 $ python -V Python 2.7.17 --version 그리고 -V 두개 옵션으로 파이썬 옵션을 확인할 수 있다. 현재 2.7.17인 것을 알 수 있다. 참고로 버전은 각각의 자리에 따른 의미가 있다. 앞에서 순서대로 * Major 버전 * Minor 버전 * Micro 버전 을 뜻한다. 코드를 통해서 버전 확인하기 >>> import sys >>> print(sys.version) 2.7.17 (default, Feb 27 2021, 15:10:58) sys 모듈의 version을 확인하면 파이썬 버전을 코드로 확인할 수 있다. 또 다른 방법으로는 sys.ver..