Python PostgreSQL COPY命令:如何抑制“";带“时区”的时间戳;?
我正在从Python PostgreSQL COPY命令:如何抑制“";带“时区”的时间戳;?,python,postgresql,psycopg2,Python,Postgresql,Psycopg2,我正在从PostgreSQL提取数据,以便将其加载到其他数据库。不幸的是,此数据库无法识别时间戳中的时区信息。Iam使用python adnpsycopg2将数据提取到csv。即使我在会话级别设置了时区,我也会得到以下格式的时间戳: def to_csv(self, table, fname, sep = '|'): cur = self._conn.cursor() #cur.execute('select * from {}'.format(table)) l
PostgreSQL
提取数据,以便将其加载到其他数据库。不幸的是,此数据库无法识别时间戳中的时区信息。Iam使用python adnpsycopg2
将数据提取到csv
。即使我在会话级别设置了时区,我也会得到以下格式的时间戳:
def to_csv(self, table, fname, sep = '|'):
cur = self._conn.cursor()
#cur.execute('select * from {}'.format(table))
log.info('Unloading table {} to file {}'.format(table, fname))
f = open(fname, 'w')
cur.execute("SET LOCAL TIMEZONE='UTC'")
cur.execute("SET datestyle='ISO'")
cur.copy_to(f, table, sep)
cur.close()
f.close()
2015-08-18 12:54:29.528**+00**
在这种情况下,如何删除+00?我希望避免使用regexp解析文件,或指定select语句和转换列类型。如果可能的话,请寻找一些会话级别设置。在将列提取到文件之前,将带有
timestamp的列转换为不带时区的简单timestamp
如何?谢谢!是的,我也把这个想法作为一种解决办法。将其转换为char。在将列提取到文件之前,如何将带有timestamp
的列转换为不带时区的简单timestamp
?谢谢!是的,我也把这个想法作为一种解决办法。实际上,将其转换为char。