1 回答

TA貢獻1794條經(jīng)驗 獲得超8個贊
你可以這樣做:
import datetime
input_lst = [
{
"id": "123456",
"product": "XYZ",
"exp_date": "03/01/2020",
"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": "",
"qty": " "
}
]
output_lst = []
for dct in input_lst:
tmp_dct = dct.copy()
# amount - float, qty - int4
try:
tmp_dct['amount'] = float(dct['amount'])
except:
pass
try:
tmp_dct['qty'] = int(dct['qty'])
except:
pass
try:
tmp_dct['exp_date'] = datetime.datetime.strptime(tmp_dct['exp_date'],'%m/%d/%Y').replace(hour=0, minute=0, second=0, microsecond=0) #check for empty/null/blank values and replace with default date
output_lst.append(tmp_dct)
except:
pass
print(output_lst)
這更有效,因為您只循環(huán)一次。
添加回答
舉報