我正在尝试导入多个csv文件,当我运行以下代码时,它确实可以工作。
allfiles = glob.glob('*.csv')
allfiles
但是,这导致:
['file_0.csv',
'file_1.csv',
'file_10.csv',
'file_100.csv',
'file_101.csv,
...
]
如您所见,导入的文件不是排序编号。我想要的是在我的文件名中按编号升序排列:
['file_0.csv',
'file_1.csv',
'file_2.csv',
'file_3.csv',
...
]
我该如何解决这个问题?
这也是一种方法。该算法将按文件名字符串的长度排序。
import glob
all_files = glob.glob('*.csv')
def sort_with_length(file_name):
return len(file_name)
new_files = sorted(all_files, key = sort_with_length )
print("Old files:")
print(all_files)
print("New files:")
print(new_files)
样本输出:
Old files:
['file1.csv', 'file101.csv', 'file102.csv', 'file2.csv', 'file201.csv', 'file3.csv']
New files:
['file1.csv', 'file2.csv', 'file3.csv', 'file101.csv', 'file102.csv', 'file201.csv']
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句