python - TO read all files in a folder in an order -
i'm beginner.i want read files in folder.for eg.files name 1.csv,2.csv........10.csv,11.csv.....20.csv likewise.it sholud read 1.csv,2.csv ......but me reading 1.csv,10.csv,11.csv.......19.csv,2.csv
i'm using code :
import glob path = 'c://test//08october2014//data_intv_new//october082014//*.sec.gz' files=glob.glob(path) list in sorted(files): print list
output:
c://test//08october2014//data_intv_new//october082014\1.sec.gz c://test//08october2014//data_intv_new//october082014\10.sec.gz c://test//08october2014//data_intv_new//october082014\11.sec.gz c://test//08october2014//data_intv_new//october082014\12.sec.gz c://test//08october2014//data_intv_new//october082014\13.sec.gz c://test//08october2014//data_intv_new//october082014\14.sec.gz c://test//08october2014//data_intv_new//october082014\15.sec.gz c://test//08october2014//data_intv_new//october082014\16.sec.gz c://test//08october2014//data_intv_new//october082014\17.sec.gz c://test//08october2014//data_intv_new//october082014\18.sec.gz c://test//08october2014//data_intv_new//october082014\19.sec.gz c://test//08october2014//data_intv_new//october082014\2.sec.gz c://test//08october2014//data_intv_new//october082014\20.sec.gz c://test//08october2014//data_intv_new//october082014\21.sec.gz c://test//08october2014//data_intv_new//october082014\22.sec.gz c://test//08october2014//data_intv_new//october082014\23.sec.gz c://test//08october2014//data_intv_new//october082014\24.sec.gz c://test//08october2014//data_intv_new//october082014\25.sec.gz c://test//08october2014//data_intv_new//october082014\26.sec.gz c://test//08october2014//data_intv_new//october082014\27.sec.gz c://test//08october2014//data_intv_new//october082014\28.sec.gz c://test//08october2014//data_intv_new//october082014\29.sec.gz c://test//08october2014//data_intv_new//october082014\3.sec.gz c://test//08october2014//data_intv_new//october082014\30.sec.gz
in string comparisons, "0" < "1" < "10" < "2" < "20"
(lexicographical order). you'd have name files "01"
, "02"
, ..., "09"
, "10"
, ... them sort without effort.
if can't that, you're looking called "natural sorting". there's module here: https://pypi.python.org/pypi/natsort
python
No comments:
Post a Comment