[英]Python strptime not parsing data from imported CSV
我正在尝试导入包含“created_at”日期的行的 CSV。 我收到循环错误。
我当前尝试导入的日期字符串是“2020-05-14 16:10:21.360520+00:00”,它位于我的 csv 文件中的第 [2] 行。
这是我尝试使用的代码:
for line in import_csv:
if line:
import_data = BlogLink()
created_at = line[2].split('.')
import_data.created_at = datetime.datetime.strptime(created_at[0], "YYYY-MM-DD HH:MM:SS")
这给了我错误:
time data '2020-05-14 16:10:21' does not match format 'YYYY-MM-DD HH:MM:SS'
我的替代代码是这样的:
for line in import_csv:
if line:
import_data = BlogLink()
created_at = line[2].split('.')
import_data.created_at = datetime.datetime.strptime(created_at[0], "%Y-%m-%d %H:%M:%S")
这给了我错误:
time data '' does not match format '%Y-%m-%d %H:%M:%S'
(即它甚至不尝试包括时间数据)。 我在这里做错了什么?
PEBCAK 在这里。 我的问题是 import_data.last_edited 的后续行对于未编辑的对象有空行。 我已经修补了该字段为空时跳过的代码。
for line in import_csv:
if line:
import_data = BlogLink()
import_data.description = line[0]
import_data.link = line[1]
import_data.created_by = request.user
import_data.created_at = datetime.datetime.strptime(line[2], '%Y-%m-%d %H:%M:%S.%f%z')
if line[3]:
import_data.last_edited = datetime.datetime.strptime(line[3], '%Y-%m-%d %H:%M:%S.%f%z')
else:
import_data.last_edited = None
import_data.save()
是工作代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.