在棉花糖中反序列化日期

问题描述

我有一个表(START_DATE、TEXT、DECIMAL、INTEGER)。 我从数据库中读取数据并尝试对数据进行反序列化。


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

回复


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

如何将日期格式更改为 '%Y-%m-%dT%H:%M:%s%z' 我做了以下更改,但日期格式没有更改。


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

解决方法

日期格式不会神奇地应用于任何看起来像数据的字符串。

您需要为每个值指定字段。

从您的示例中,您的架构可能看起来像

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