我目前有以下 AllergiesList 可以是一個或多個dicts
。
{
"AllergiesList": [
{
"Date": "2021-09-03T00:00:00",
"Description": "string",
"Source": "string",
"Severity": "string",
"Reaction": "string",
"TypeCode": "string",
"Notes": "string",
"Notes1": "string",
"TenancyDescription": "string"
}
],
"TotalItemCount": 0
}
我的問題是如何將Date
所有字典中的密鑰格式化為特定格式,例如d/m/Y
我目前要洗掉dicts
超過 X 個月的以下內容
def is_recent(entry,amount):
limit_time = pd.Timestamp.today() - relativedelta.relativedelta(months=amount)
return pd.to_datetime(entry["Date"]) > limit_time
使用如下:
allergies = session["allergies"] # This is the same as the code snippet above i.e. a list of dictionaries
session["allergies"] = [entry for entry in allergies["AllergiesList"] if is_recent(entry,6)]
我需要做另一件事def()
還是可以修改我目前的做做需要的事情?
uj5u.com熱心網友回復:
from datetime import datetime
rec_list = {
"AllergiesList": [
{
"Date": "2021-09-03T00:00:00",
"Description": "string",
"Source": "string",
"Severity": "string",
"Reaction": "string",
"TypeCode": "string",
"Notes": "string",
"Notes1": "string",
"TenancyDescription": "string"
},
{
"Date": "2021-09-09T00:00:00",
"Description": "string",
"Source": "string",
"Severity": "string",
"Reaction": "string",
"TypeCode": "string",
"Notes": "string",
"Notes1": "string",
"TenancyDescription": "string"
}
],
"TotalItemCount": 0
}
for rec in rec_list["AllergiesList"]:
rec["Date"] = datetime.strptime(rec["Date"], "%Y-%m-%dT%H:%M:%S").strftime("%d/%m/%Y")
print(rec_list)
使用上面的代碼片段,您可以根據您的要求轉換您的所有日期格式記錄。
輸出:-
{
"AllergiesList": [
{
"Date": "03/09/2021",
"Description": "string",
"Source": "string",
"Severity": "string",
"Reaction": "string",
"TypeCode": "string",
"Notes": "string",
"Notes1": "string",
"TenancyDescription": "string",
},
{
"Date": "09/09/2021",
"Description": "string",
"Source": "string",
"Severity": "string",
"Reaction": "string",
"TypeCode": "string",
"Notes": "string",
"Notes1": "string",
"TenancyDescription": "string",
},
],
"TotalItemCount": 0,
}
謝謝 :)
uj5u.com熱心網友回復:
試試下面的代碼,它會將給定的格式轉換為 DD/MM/YYYY
from datetime import datetime
date_time_str = entry['Date']
date_time_obj = datetime.strptime(date_time_str, '%Y-%m-%dT%H:%M:%S')
date = date_time_obj.strftime("%d/%m/%Y")
print('Date String:', date)
如果你想要 DD/MM/YY 格式替換%Y
為%y
indate_time_obj.strftime("%d/%m/%Y")
uj5u.com熱心網友回復:
只需將 is_recent 函式替換為以下函式
import datetime
def is_recent(entry, amount):
limit_time = datetime.datetime.now() - datetime.timedelta(months=amount)
return datetime.datetime.strptime(entry["Date"], '%Y-%m-%dT%H:%M:%S') > limit_time
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/495553.html
標籤:Python python-3.x 字典 列表理解
上一篇:如何使字典不將“空白”視為鍵?
下一篇:簡化為typescript的映射