【发布时间】:2020-12-25 08:06:24
【问题描述】:
假设,下面是输入列表,其中 exp_date 和 qty 字段为空白/空格/空。
input_lst = [
{
"id": "123456",
"product": "XYZ",
"exp_date": "",
"amount": "30.5",
"qty": "1"
},
{
"id": "789012",
"product": "ABC",
"exp_date": "04/15/2020",
"amount": "22.57",
"qty": "3"
},
{
"id": "56789",
"product": "AAA",
"exp_date": "03/29/2020",
"amount": "2",
"qty": " "
}
]
我们可以像下面这样写 if/then/else - 什么是正确/适当的语法?
output_lst = []
for dct in input_lst:
tmp_dct = dct.copy()
try:
#replace/default any blank/null/space values and convert to datetime
tmp_dct['exp_date'] = datetime.strptime(if dct['exp_date'] == "" then '01/01/1900' else dct['exp_date'], '%m/%d/%Y')
except:
pass
#replace/default any blank/null/space values and convert to int
try:
tmp_dct['qty'] = int(if dct['qty'] == '' then '1' else dct['qty'])
except:
output_lst.append(tmp_dct)
print(output_lst)
谢谢!
【问题讨论】:
标签: python-3.x list replace null