- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- NVL
- tapply
- decode
- 연산자
- trunc
- r
- grep
- 딥러닝
- MVC
- 명령어
- scheduledTimer
- Linux
- ReLU
- SWIFT
- struct
- Observable
- delegate
- swiftUI
- deeplearning
- barplot
- Upper
- cocoapods
- ios
- sigmoid
- 시각화
- Python
- rxswift
- substr
- SQL
- Optional
iOS 개발 기록 블로그
Python으로 오라클의 nvl, decode 함수 구현해보기 본문
nvl
SQL(오라클)의 nvl 함수를 파이썬으로 구현해보겠습니다.
SQL 예시로 아래와 같습니다.
SELECT ename, nvl(comm, 0)
FROM emp;
emp라는 테이블에서 comm(커미션)이 null인 사원은 0으로 null이 아니면 comm을 출력하는 문장입니다.
Python으로 구현해보면
def nvl(val1, val2):
if val1 is "":
return val2
return val1
import csv
f = open("emp_comm.csv 테이블이 있는 경로", "r")
emp_csv = csv.reader(f)
for emp in emp_csv:
print(emp[1], nvl(emp[6], 0)) #emp[6]은 comm이 있는 열
위와 같이 작성할 수 있습니다.
decode
SQL의 decode 함수를 파이썬으로 구현해봅시다.
decode 함수는 if else 함수와 흡사하게 동작합니다.
아래 보기와 같이 실행했을때 decode함수와 같이 동작하도록 구현해보겠습니다.
보기)
import csv
f = open("csv파일 있는 경로", "r")
emp_csv = csv.reader(f)
for emp in emp_csv:
print(emp[1], decode(emp[7], 10, 3000, 0))
답)
def decode(val1, a, b, c):
if type(a) == int:
val1 = int(val1)
if val1 is a:
return b
return c
특정 값 val1이 a조건이면 b를 출력하고 그렇지 않으면 c를 출력하는 함수입니다.
'Python' 카테고리의 다른 글
Python 내 맘대로 요일 출력하기 (0) | 2022.02.18 |
---|---|
파이썬 (python) 문자열 다루기 함수 직접 만들어보기 (0) | 2022.01.10 |
파이썬 (python) 문자열 다루기 (in, list, tuple, dictionary) (0) | 2022.01.04 |
python (파이썬) 시퀀스, 별 찍기 (0) | 2021.12.21 |
파이썬(python) bool basic, how to read csv using pandas (0) | 2021.12.10 |