Python 266

[Python] CSV 데이터 다루기

CSV comma-separated values. 몇 가지 필드를 쉼표로 구분한 텍스트 데이터 또는 파일이다. 확장자는 .csv이며 MIME 형식은 text/csv이다. comma-separated variables라고도 한다. 스프레드시트나 데이터베이스에서 많이 사용한다. 2021.11.01 - [Python] JSON 데이터 다루기에 이어서 Python으로 CSV 데이터/파일을 읽고 쓰는 방법을 정리해둔다. csv 모듈 import csv csv 모듈은 CSV 형식의 데이터를 읽고 쓰는 클래스로, reader와 writer 객체를 사용할 수 있다. Dictionary 데이터는 DictReader와 DictWriter 객체를 이용하여 읽고 사용할 수 있다. csv 모듈은 Python 기본 내장 모듈이므..

Python 2022.10.21

[Python] 디렉터리 내 파일/디렉터리 리스트 확인 - 2

glob glob 모듈은 매개변수로 전달받은 패턴과 일치하는 모든 경로를 찾는다. 패턴은 정규식 패턴에 해당한다. 2022.10.16 - [Python] 디렉터리 내 파일/디렉터리 리스트 확인 - 1에 이어서 추가로 glob 모듈을 사용해 디렉터리 내 파일/디렉터리 리스트를 확인하는 방법을 정리한다. glob glob 함수는 매개변수로 전달받은 패턴과 일치하는 모든 파일과 디렉터리의 리스트를 반환한다. 결과 정렬 여부는 파일 시스템에 따라 다르다. import glob base_path = './*' list_file = glob.glob(base_path) for l in list_file: print(l) 서브 디렉터리 포함 모든 파일/디렉터리 확인 glob 함수의 recursive 매개변수가 Tru..

Python 2022.10.17

[Python] 디렉터리 내 파일/디렉터리 리스트 확인 - 1

개요 특정 경로 내 파일과 디렉터리 목록을 확인하고자 한다. 사용할 수 있는 방법을 정리해둔다. os.listdir(path) os.listdir 함수는 매개변수로 전달받은 경로 내의 파일과 디렉터리의 리스트를 반환한다. 매개변수가 없으면 현재 디렉터리를 기준으로 실행된다. import os base_path = './' list_file = os.listdir(base_path) print("\n".join(list_file)) 파일 탐색기에서 보이는 결과와 동일한지 확인해보자. 다만 listdir은 단순히 디렉터리 내 파일과 디렉터리에 대한 문자열 리스트만을 반환하기 때문에 해당 요소가 파일인지 디렉터리인지 용량은 얼마인지 등의 추가적인 정보를 확인하기에는 부족한 면이 있다. 따라서 Python 3...

Python 2022.10.16

[Python] open/write/read - 파일 입출력

파일 입출력 Python은 open 함수를 이용하여 파일 입출력 처리를 할 수 있다. open 함수를 이용해 파일을 읽고 써보도록 한다. open() ~ close() 기본적으로 파일명과 파일 열기 모드를 지정하여 사용하며, 파일에 작업을 마친 후에는 close 함수로 파일을 닫아야 한다. f = open('FILE', 'MODE') # 작업 f.close() 파일 열기 모드는 다음과 같다. 기본적으로 텍스트 읽기 모드로 열린다. 문자 의미 r 읽기 (기본값) w 쓰기 x 독점적인 파일 생성. 파일이 이미 존재하는 경우 실패 a 내용 추가 b 바이너리 t 텍스트 (기본값) + 갱신(읽기 및 쓰기) with open() open 함수를 사용할 때 with와 같이 사용하면 with 문 블록이 끝날 때 ope..

Python 2022.10.10

[Python] Dictionary 배열에서 조건에 맞는 원소 찾기 - 2

개요 2022.10.06 - [Python] Dictionary 배열에서 조건에 맞는 원소 찾기 - 1에서 조건 하나와 일치하는 Dictionary를 찾아보았는데, 이번에는 다중 조건을 고려해보려고 한다. 능력이 부족한 탓에 stackoverflow에 등록된 소스를 정리해둔다. 다중 조건 고려 - 최소 1개 조건 일치 Dictionary List에서 다중 조건을 고려하여 요소를 찾는 함수는 아래와 같다. 주석으로 코드의 내용을 적어두었다. # input : dictionary list, 조건(key=value) # output : dictionary def find_dict(objects, **kwargs): return next(( # list 탐색 obj for obj in objects # 배열 내..

Python 2022.10.09

[Python] any/all - 여러 요소의 참/거짓 확인

개요all, any 함수는 Python 내장 함수로 여러 개의 데이터에 대한 참/거짓을 판단할 때 사용한다. 각각 살펴보자. all(iterable)일반적으로 여러 개의 데이터가 어떤 조건을 만족하는지 확인할 때 다음과 같은 반복문을 사용해 확인하게 된다.# 전달 받은 데이터 모두 짝수인지 확인def all_positive_even(nums): for num in nums: if num all 함수는 매개변수로 iterable한 객체(list, tuple 등)를 받아, 전달받은 객체 내의 모든 요소가 True일 때만 True를 반환한다. 즉, 전달받은 객체 중 하나의 요소라도 False이면 False를 반환한다. 따라서 all 함수를 사용하면 반복문 없이도 여러 개의 데이터가 어떤 조건..

Python 2022.10.08

[Python] Dictionary 병합

개요 서로 다른 Dictionary 두 개를 병합하고자 한다. 두 Dictionary에는 중복된 키가 있을 수도 있고 없을 수도 있다. 몇 가지 방법을 정리해둔다. dictionary.update(iterable) update 함수는 호출한 Dictionary를 변경하는 함수로, 매개변수로 전달받은 Dictionary 또는 iterable 한 객체를 추가한다. key가 중복되는 경우 매개변수로 전달된 값으로 갱신된다. 예시 ) Dictionary x = {"spam": 1, "eggs": 2, "cheese": 3} y = {"cheese": "cheddar", "aardvark": "Ethel"} x.update(y) 예시 ) tuple iterable tuple 데이터에서 먼저 나열된 값이 key가 ..

Python 2022.10.07

[Python] Dictionary 배열에서 조건에 맞는 원소 찾기 - 1

개요 Dictionary를 원소로 하는 리스트를 다루던 중, 특정 속성의 값에 해당하는 원소를 찾을 필요성이 생겼다. 탐색에 사용할 속성은 1개이고, 그 속성의 값은 배열에서 unique 하지만 존재하지 않을 수도 있다. 배열 내 찾는 원소가 없을 때는 None, 또는 검색한 속성과 값을 제외하고는 값이 빈 Dictionary를 반환하고자 한다. next(iterable, default) next 함수는 반복 가능한 객체의 다음 요소를 반환하는 개체이다. default는 마지막 요소를 반환할 이후 반환할 값을 설정할 수 있다. 예로 들어 아래의 people dictionary 리스트에서 name이 Tom인 객체는 다음과 같이 찾을 수 있다. people = [ {"name": "Tom", "age": 1..

Python 2022.10.06

[Python] @ - Decorator

Decorator 장식하다, 꾸미다는 의미를 가진 decorate에 er/or을 붙인 말로 장식자, 도배업자 등을 의미한다. 즉, 방을 벽지나 커튼으로 꾸미듯이 기존의 코드, 함수에 여러 기능을 추가하는 구문으로 함수 위에 @로 시작한다. 이전에 2022.09.17 - [Flask] REST API 만들기 내 소스에서 @app.route가 바로 데코레이터에 해당한다. @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': do_the_login() else: show_the_login_form() 이 글에서는 데코레이터를 생성하고, 사용하는 방법을 정리한다. 만약 1급 객체, 클로저에 대한 개념이 없다면..

Python 2022.10.05

[Python] Closure

Closure 자신을 둘러싼 scope의 상태 값을 기억하는 함수로, 클로저는 다음의 세 가지 조건을 만족해야 한다. 해당 함수는 어떤 함수 내에 중첩된 함수여야 한다. 해당 함수는 자신을 둘러싼 함수 내의 상태 값을 참조해야 한다. 해당 함수를 둘러싼 함수는 내부의 함수의 반환해야 한다. 💡 각 조건에 대한 배경 지식은 아래 글을 참고할 수 있다. 2022.10.01 - [Python] 전역/지역 변수와 범위 2022.11.03 - [Python] 중첩 함수 2021.11.23 - [Python] 변수에 함수 저장 예시를 통해 알아보자. 예시 지역 변수 a, b를 샤용하여 결괏값을 계산하는 함수 mul_add를 반환하는 함수 calc가 있다고 하자. def calc(): a = 3 b = 5 def m..

Python 2022.10.04