我有文本数据,我已经将其转换为以日期分隔的列表。列表的每个元素均以日期开头。现在,我需要对该列表进行排序=日期最早的句子应该是第一个元素。
我具有执行相同操作的功能,并且在100篇文章中效果很好。但是现在它不能正确排序。
日期格式在所有文本中都不统一,因为我使用日期解析器功能。
Semigroup
我的输出:
complaint = '11.10.2011 10:04:12 * * topogram goes on a different area C 19.10.2011 19:56:41 dfgvdxfgb. . Replaced the faulty Hand controllers with the new ones. ***********CRACKS '
import re
list1 = list()
for d, t in zip(*[iter(re.split(r'(\d+[\/.]\d+[\/.]\d+ \d+:\d+:\d+)', complaint)[1:])]*2):
list1.append(d + t)
from dateutil import parser
dates = []
for item in list2:
dates.append(parser.parse(item, fuzzy=True))
list_sorted = [list2[i[0]] for i in sorted(enumerate(dates), key=lambda x:x[1])]
print(list_sorted)
预期输出:
['19.10.2011 19:56:41 Lwin Zaw Win . . Replaced the faulty Hand controllers with the new ones. ***********CRACKS ,', '11.10.2011 10:04:12 * * topogram goes on a different area C ']
我的主要问题是,这对于许多文本来说都可以正常工作,但是现在排序不正确。有人可以帮忙吗?