我想使用第二列Target对此Excel文件进行排序。 Target列具有字符串和整数
形式的数据当我使用fetch
函数对Excel文件进行排序时,我得到这样的结果:
这个排序顺序错误,因为Slide2.JPG,Slide3.JPG应该高于Slide10.JPG等。
我该如何解决这个问题?
答案 0 :(得分:0)
看来你正在寻找human sorting。您可以使用Python中的正则表达式来处理此类问题。
如附件中所述:
import re
def sort_nicely( l ):
""" Sort the given list in the way that humans expect.
"""
convert = lambda text: int(text) if text.isdigit() else text
alphanum_key = lambda key: [ convert(c) for c in re.split('([0-9]+)', key) ]
l.sort( key=alphanum_key )
data=["Slide2.JPG","Slide21.JPG","Slide10.JPG","Slide3.JPG"]
sort_nicely(data)
print data
返回:
['Slide2.JPG', 'Slide3.JPG', 'Slide10.JPG', 'Slide21.JPG']