使用Python从json中提取复杂的日期范围



我想使用python从下面的json响应中提取2019-10-21之后到今天的所有日期。我对Python非常陌生,刚刚开始探索新的函数。有人能给我一个提示吗?

我的api响应

response=
{ "id": "100", 
"location":
{
"address1" : {"city":"x", "state":"y", "zip":"55"}, 
"address2" : {"city":"g", "state":"h", "zip":"33"},
},
"date": [
{
"shipping_date": "2020-12-13",
"shipping_name": "xuv"
},
{
"shipping_date": "2014-11-31",
"shipping_name": "yuv"
},
{
"shipping_date": "2020-12-14",
"shipping_name": "puv"
},
{
"shipping_date": "2020-08-22",
"shipping_name": "juv"
},
{
"shipping_date": "2019-10-21",
"shipping_name": "auv"
} ]
}

我的输出

id | shipping_date | shipping_name
100| 2020-12-13 | xuv
100| 2020-12-14 | puv
100| 2020-08-22 | juv
for data in response["date"]:
print(data["shipping_date"])

使用此代码可以获取所有发货日期。

根据Sagun Devkota的回答,OP要求提供特定日期范围之间的数据
您可以使用time.strptime来分析和比较日期
假设您需要从1-201931-12-2020的所有东西,您可以,

import time
start = time.strptime("2019-1-1","%Y-%m-%d")
end = time.strptime("2020-12-31","%Y-%m-%d")
for data in response["date"]:
date = time.strptime(data["shipping_date"],"%Y-%m-%d")
if date>=start and date<=end:
print(data["shipping_date"])

PS:11月有30天,而索引1shipping_date11-31

最新更新