我有一個文件(基於類項目)刮過的Tweets。此文件中的行看起來像:Python - 對文件中的行進行排序通過正則表達式日期匹配
@soandso something something <a href="http://pic.twitter.com/aphoto</a><a href="a link" target="_blank">Permalink</a> 1:40 PM - 17 Feb 2016<br><br>
@soandso something something <a href="http://pic.twitter.com/aphoto</a><a href="a link" target="_blank">Permalink</a> 1:32 PM - 16 Feb 2016<br><br>
我想按日期排序文件中的行。這是我迄今拼湊在一起的東西。
import re
from datetime import datetime
when = re.compile(r".+</a>(.+)<br><br>")
with open('tweets.txt','r+') as outfile:
sortme = outfile.read()
for match in re.finditer(when, sortme):
tweet = match.group(0)
when = match.group(1)
when = datetime.strptime(when, " %I:%M %p - %d %b %Y")
print when
這將打印出所有行的日期已經轉換的格式 從1:40 PM - 2016年2月17日至2016年2月17日13時四十零分00秒,我相信這是一個日期時間。在過去的幾天裏,我搜索了很多關於如何通過日期時間對文件中的所有行進行排序的線索。謝謝你的幫助!
1-無需在此處將日期時間轉換爲秒。您可以直接比較datetime對象2-'mktime()'不正確,除非由於某些原因tweets使用本地時區。 – jfs