Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从psycopg2 fetchall函数输出创建逗号分隔字符串_Python_Python 3.x_Psycopg2 - Fatal编程技术网

Python 从psycopg2 fetchall函数输出创建逗号分隔字符串

Python 从psycopg2 fetchall函数输出创建逗号分隔字符串,python,python-3.x,psycopg2,Python,Python 3.x,Psycopg2,使用python psycopg2,我有以下代码: conn = psycopg2.connect(host=endpoint ,database=database, user=user, password=password) cur = conn.cursor() cur.execute("select * from pg_stat_activity;") records = cur.fetchall() for record in records: print(record) 该代

使用python psycopg2,我有以下代码:

conn = psycopg2.connect(host=endpoint ,database=database, user=user, password=password)
cur = conn.cursor()
cur.execute("select * from pg_stat_activity;")
records = cur.fetchall()
for record in records:
    print(record)
该代码转储的记录如下所示:

(16391, 'app', 9233, 16389, 'app', '', '10.20.12.17', None, 55204, datetime.datetime(2020, 1, 14, 1, 43, 19, 214161, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), datetime.datetime(2020, 1, 14, 1, 43, 19, 410905, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), datetime.datetime(2020, 1, 14, 1, 43, 19, 442050, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), datetime.datetime(2020, 1, 14, 1, 43, 19, 442051, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None)), None, None, 'active', None, '22332', 'select * from pg_stat_activity;')
...
...
它显示如下函数调用:

datetime.datetime(2020, 1, 14, 1, 43, 19, 214161, tzinfo=psycopg2.tz.FixedOffsetTimezone(offset=0, name=None))
但是,我真正想要的是它显示函数的字符串输出,如:

2019-12-20 01:59:33.270944+00
我怎样才能让psycopg2为我显示这个

谢谢。

使用datetime.strftime格式化datetime元素

for record in records:
    l = list(record[0:9])
    # format times in elements 9-12
    for i in range(9, 13):
        l.append(record[i].strftime('%Y-%m-%d %H:%M:%S.%f%z')
    l += record[13:]
    print(l)
使用Python的datetime格式化函数按您想要的方式格式化日期时间。