所以我有一个包含一些行的.txt文件......
每行具有以下格式:x (A-Z) creationDate completionDate Task +project @context
(TODO列表项目)
所以我想通过他们的creationDate(以及第二种情况的completionDate)对这些行进行排序,并将它们写在.txt文件中。
示例:
(D) 2018-03-02 2018-04-04 watch the new tomb raider +movie @tombraider
(A) 2017-03-02 2017-03-10 say goodbye to your best friend!! +friendship @meetfriend
x (C) 2016-07-02 2016-08-05 finish gta vice city +gaming @playstation2
排序后:
x (C) 2016-07-02 2016-08-05 finish gta vice city +gaming @playstation2
(A) 2017-03-02 2017-03-10 say goodbye to your best friend!! +friendship @meetfriend
(D) 2018-03-02 2018-04-04 watch the new tomb raider +movie @tombraider
我该怎么做?
感谢您花时间回答。
答案 0 :(得分:0)
使用sorted()
和lambda
with open(myfile, 'r') as f:
lines = [line.strip().split() for line in f]
sorted_lines = sorted(lines, key = lambda x: x[2])
这假设任何行都会在位置2处有creationDate
。但是,正如评论已经指出的那样,某些行有一个x
前缀而有些行不是吗?如果不是,那里是否有字符(例如\s
或\t
)?