我是 Python 新手。我一直在學習,并且正在處理檔案。所以我有一個程式,我正在嘗試撰寫它從檔案中讀取資料的位置。檔案中的每一行都是 dd-mmm-yy 格式的日期,例如 13-SEP-20。為簡單起見,假設每一年都在 2000 年或之后。我需要用 09 替換 SEP 并將輸出重新排列為 mm-dd-yyyy。所以最終的結果是:
20 年 9 月 13 日至 2020 年 9 月 13 日
到目前為止,我有以下代碼。它使用月份的字典替換每一行上的值并重新排列為正確的順序。接下來,我需要將年份更改為 20nn,但我不確定如何做那部分。
import datetime
months = {'JAN': '01', 'FEB': '02', 'MAR': '03', 'APR': '04', 'MAY': '05', 'JUN': '06',
'JUL': '07', 'AUG': '08', 'SEP': '09', 'OCT': '10', 'NOV': '11', 'DEC': '12'}
result_dic = {}
#replace mmm with mm int
with open('date_file.txt') as fh:
giv_date=fh.read().splitlines()
for line in giv_date:
line = line.rstrip()
for mon_alph, mon_num in months.items():
if mon_alph in line:
line = line.replace(mon_alph, mon_num)
line = datetime.datetime.strptime(line,'%d-%m-%y')
line = datetime.datetime.strftime(line,'%m-%d-%y')
print(line)
上面前幾行的輸出是:
09-13-20
09-11-20
09-10-20
08-27-19
08-24-20
有人可以幫助我如何將 yy 更改為 yyyy 嗎?為簡單起見,我想說可能只是每年增加 2000,但我認為這可能太復雜了,可能有更簡單的方法?預先感謝您的幫助。
uj5u.com熱心網友回復:
嘗試 %Y 而不是 %y。您可以在 python 檔案中閱讀有關 strftime 的更多資訊。基本上 %y 將只回傳最后兩位數字,而 %Y 回傳 2021。
uj5u.com熱心網友回復:
用 4 位數年份表示替換最后一行
line = datetime.datetime.strftime(line,'%m-%d-%Y')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/318435.html
上一篇:在默認介面方法中回傳通用型別的類
