728x90
쓸 일이 있을까...싶은 함수지만 알아두면 좋은 함수다.
특히, 굉장히 많은 데이터 파일을 불러올 때, 그리고 해당 파일들 이름에 201901, 201902, 201903... 식으로 일련의 숫자들이 들어간다면 아마 이 함수가 필요할 것이다.
그렇다면, zfill()함수는 언제, 어떻게 쓸까?
예를 들어, 다음과 같은 파일들이 있다고 가정해보자
공공데이터의 일부인데 2018년 1월부터 2019년 8월까지 데이터가 있음을 확인할 수 있으며, 이걸 딱 봤을 때 직관적으로 "for문 들어간 함수를 만들어서 불러오면 되겠구나!"라는 생각이 든다.
문제는 다음 상황에서 발생한다.
for i in range(2018, 2020):
for j in range(1, 13):
ij = '{}{}'.format(i, j)
print(ij)
내가 원하는 건 201801, 201802인데 20181, 20182 이런 식으로 나온다. 저 0을 어떻게 집어넣으면 좋을까?
이때의 솔루션으로 zfill() 함수가 쓰일 수 있다.
zfill() 함수는 괄호 안의 숫자만큼 zero(0)을 채워서 자릿수를 맞춰준다. 단, 주의할 점은 zfill() 함수는 문자열(str)에만 쓰일 수 있다.
i = 2
str(i).zfill(2)
zfill() 함수를 이용해 다시 for문을 만들어보면 다음과 같다.
for i in range(2018, 2020):
for j in range(1, 13):
j_str = str(j).zfill(2)
ij = '{}{}'.format(i, j_str)
print(ij, end='\t')
원하는대로 01, 02, 03... 식으로 들어간 것을 확인할 수 있다.
반응형
LIST
'Legacy > [Legacy] Python' 카테고리의 다른 글
[Pandas] 색인, 통계, 누락데이터 등(describe, isnull, fillna) (0) | 2019.02.14 |
---|---|
[pandas] Series, DataFrame 자료구조 (0) | 2019.02.11 |