주제 : 텍스트로 된 숫자 정렬하기

방법 : natsort 패키지 사용

참고 링크 : https://natsort.readthedocs.io/en/master/

In [1]:
import os
import natsort ## 숫자 정렬용 라이브러리
# 기본 라이브러리가 아니므로 pip install natsort로 설치

1. 정렬할 대상 확인

In [2]:
order_list = os.listdir('TXT')
# os.listdir() ← 디렉터리에 있는 파일목록 불러오는 ㅁ메소드
# 'TXT' ← 정렬할 대상이 있는 경로(디렉터리)
In [3]:
order_list[:15]
# 정렬상태 확인 결과 Python에서 문자열로 인식해 1-1 → 1-10 순서로 정렬되어 있음
Out[3]:
['1-1.txt',
 '1-10.txt',
 '1-11.txt',
 '1-12.txt',
 '1-13.txt',
 '1-14.txt',
 '1-15.txt',
 '1-16.txt',
 '1-17.txt',
 '1-18.txt',
 '1-19.txt',
 '1-2.txt',
 '1-20.txt',
 '1-21.txt',
 '1-22.txt']
In [4]:
type(order_list[0])
Out[4]:
str

2. 데이터 정렬 : natsort.natsorted() 메소드 사용

In [5]:
after_order_list = natsort.natsorted(order_list)
# natsort.natsorted() 메소드로 정렬 
# natsort.natsorted(seq, key=None, reverse=False, alg=0) 상세 사용방법은 아래 경로에서
# https://natsort.readthedocs.io/en/master/api.html#standard-api
In [6]:
after_order_list
Out[6]:
['1-1.txt',
 '1-2.txt',
 '1-3.txt',
 '1-4.txt',
 '1-5.txt',
 '1-6.txt',
 '1-7.txt',
 '1-8.txt',
 '1-9.txt',
 '1-10.txt',
 '1-11.txt',
 '1-12.txt',
 '1-13.txt',
 '1-14.txt',
 '1-15.txt',
 '1-16.txt',
 '1-17.txt',
 '1-18.txt',
 '1-19.txt',
 '1-20.txt',
 '1-21.txt',
 '1-22.txt',
 '1-23.txt',
 '1-24.txt',
 '1-25.txt',
 '1-26.txt',
 '1-27.txt',
 '1-28.txt',
 '1-29.txt',
 '1-30.txt',
 '1-31.txt',
 '1-32.txt',
 '1-33.txt',
 '1-34.txt',
 '1-35.txt',
 '1-36.txt',
 '2-1.txt',
 '2-2.txt',
 '2-3.txt',
 '2-4.txt',
 '2-5.txt',
 '2-6.txt',
 '2-7.txt',
 '2-8.txt',
 '2-9.txt',
 '2-10.txt',
 '2-11.txt',
 '2-12.txt',
 '2-13.txt',
 '2-14.txt',
 '2-15.txt',
 '2-16.txt',
 '2-17.txt',
 '2-18.txt',
 '2-19.txt',
 '2-20.txt',
 '2-21.txt',
 '2-22.txt',
 '2-23.txt',
 '2-24.txt',
 '2-25.txt',
 '2-26.txt',
 '2-27.txt',
 '2-28.txt',
 '2-29.txt',
 '2-30.txt',
 '2-31.txt',
 '2-32.txt',
 '2-33.txt',
 '2-34.txt',
 '2-35.txt',
 '2-36.txt',
 '2-37.txt',
 '2-38.txt']
In [ ]:
 
In [ ]: