我创建了一个表:
cursor.execute("CREATE TABLE articles (title varchar PRIMARY KEY, pubDate timestamp with time zone);")
我插入了这样的时间戳:
timestamp = date_datetime.strftime("%Y-%m-%d %H:%M:%S+00")
cursor.execute("INSERT INTO articles VALUES (%s, %s)",
(title, timestamp))
当我运行SELECT语句来检索时间戳时,它将返回元组:
cursor.execute("SELECT pubDate FROM articles")
rows = cursor.fetchall()
for row in rows:
print(row)
这是返回的行:
(datetime.datetime(2015, 12, 9, 6, 47, 4, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=660, name=None)),)
如何直接检索datetime对象?
Python的
datetime
对象由psycopg2
自动adapted转换为SQL,不需要对它们进行字符串化:要读取由
SELECT
返回的行,可以使用游标作为迭代器,根据需要解压缩行元组:再搜了几下,我想我找到了。如果我改变:
到
它确实有效。我想这是因为row是一个元组,这是正确解压元组的方法。
输出:
相关问题 更多 >
编程相关推荐