Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
112 views
in Technique[技术] by (71.8m points)

python - Deserialize Date in Marshmallow

I have a Table (START_DATE , TEXT ,DECIMAL , INTEGER). I read the data from the DB and try to de serialize the data.


class Response(Schema):
    class Meta:
        json_module = simplejson
    data = fields.List(fields.List(fields.Raw()))

Response:


"data": [
        [
            "Tue, 26 Jan 2021 00:00:00 GMT",
            "USD",
            78790.400000,
            79262
        ],
        [
            "Mon, 25 Jan 2021 00:00:00 GMT",
            "USD",
            68852.340000,
            77365
        ]

How can I change the dateformat to '%Y-%m-%dT%H:%M:%S%z' I did the below change but no change in the date format.


class Response(Schema):
    class Meta:
        json_module = simplejson
        dateformat = '%Y-%m-%dT%H:%M:%S%z'
    data = fields.List(fields.List(fields.Raw()))

question from:https://stackoverflow.com/questions/65922150/deserialize-date-in-marshmallow

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The date format won't apply magically to any string looking like a data.

You need to specify fields for each value.

From you sample, your schema could look like

class Response(Schema):
    data = fields.Tuple((
        fields.DateTime(format='%Y-%m-%dT%H:%M:%S%z'),
        fields.String(),
        fields.Float(),
        fields.Integer(),
    ))

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...