我正在使用一个程序,该程序根据从目录中读取文件的顺序将输出写入csv文件。但是,大量的文件结尾为1,2,3,4,5,6,7,8,9,10,11,12。我的程序实际上是按照字母顺序读取文件的:1,10,11,12 ....,2,20,21 ..... 99。问题是另一个程序假定排序是按照数字顺序排列的,并且倾斜了图表结果。如何在阅读前对目录中的文件进行排序?
的实际文件看起来像:String.ext.ext2.1.txt, String.ext.ext2.2.txt
,等等...
我怎样才能做到这一点用python脚本?
你能解释第二条线的工作原理吗? – Jim
'sorted_files = sorted(files,key = lambda x:int(x.split('。')[3]))' 'sorted'函数使用第二个参数给出的选择器对它的第一个参数进行排序。考虑按某个列对表格进行排序。 现在,第二个参数。它是一个函数,用于将文件名转换为部分列表(以'.'分隔)并将第三个元素放入该列表中。 –
了解它的工作方式:sorted_files = sorted(file_list,key = lambda x:int(x。 split('。')[3])if(x.endswith(“txt”))else x) – Jim