1
名字和日期的名單上有以下格式的文本文件:排序根據生日
Robert, 03/07/1960
Michael, 24/11/1942
Simon, 14/08/1924
Sarah, 20/07/1935
Adam, 12/09/1944
Rachael, 24/09/1919
所以有名字和生日用逗號與每個人一個新行分離。 使用IDLE我想打印文本文件,並按出生日期最早到最年輕列出。
我已經修改了這個代碼,最初用於排序我在stackoverflow上讀取的名稱和分數。然而,有一個日期而不是一個分數已經出現了問題。我一直在閱讀有關日期時間模塊,並試圖根據生日元素進行排序,但我似乎無法使其工作。
import datetime
format = '%d/%m/%Y'
dates = []
with open("namedate.txt") as f:
for line in f:
line.strip()
name, date = line.split(',')
date = datetime.datetime.strptime(date, format)
dates.append((name, date))
dates.sort(key=lambda s: s[1])
for name, date in dates:
print(name, date)
我收到此錯誤:
ValueError: time data ' 03/07/1960\n' does not match format '%d/%m/%Y'
所以我需要削減的「\ n」出生日元素,但不能使它工作。
'線= line.strip()' – sshashank124