如何将 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 消化的日期时间对象。
我正在尝试将数据从 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 消化的日期时间对象。