如何将 CSV 值更改为 DateTime 对象

How to change CSV value into a DateTime object

我正在尝试将数据从 CSV 文件上传到 Django 模型中。在 CSV 上有一个日期字段,值如下所示:

2020-11-11 14:06:25+00:00

引发此错误:

'“截止日期”值的格式无效。它必须是 YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] 格式。'

我正在将该值保存到 DateTimeField 中。如何将 CSV 数据转换为 DateTime 对象?

感谢您对此提供的帮助。谢谢!

    class Command(BaseCommand):
        help = 'Upload data from csv'

        def add_arguments(self, parser):
            parser.add_argument("path", type=str)

        def handle(self, *args, **options):
            path = options['path']

            with open(path) as f:
                reader = csv.reader(f, delimiter=';', dialect='excel')
                next(reader)
                for row in reader:

                    job = Project(
                        organization=row[0],
                        category=row[1],
                        project=row[2],
                        description=row[3],
                        deadline=row[4],
                        creation_timestamp=row[5],
                        state=row[6],
                        submitter=row[7],
                        editor=row[8],
                        paid=paid,
                        notes=row[10]
                    )

                job.save()

我不是 100% 确定,因为我对 Django 没有太多经验,但我相信 datetime.datetime.fromisoformat 方法可以做到这一点。

它为您提供了希望可以被 DateTimeField 消化的日期时间对象。