Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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 Postgres时间戳不接受2017-01-01T23:00:00-00:00_Python_Python 3.x_Postgresql_Datetime_Psycopg2 - Fatal编程技术网

Python Postgres时间戳不接受2017-01-01T23:00:00-00:00

Python Postgres时间戳不接受2017-01-01T23:00:00-00:00,python,python-3.x,postgresql,datetime,psycopg2,Python,Python 3.x,Postgresql,Datetime,Psycopg2,使用Python3和psycopg2在Jupyter中工作,将csv加载到psql中。前两列是我不太熟悉的ISO格式。是否有可接受的简单数据类型: 2017-01-01T23:00:00-00:00 我试过日期、时间戳、不带时区的时间戳、带时区的时间戳。为了将时间戳转换为更友好的格式,我需要预处理吗 我想我可以做一些像- cur.execute(""" CREATE TABLE test( id integer PRIMARY KEY, intervalbegin_gmt timestamp

使用Python3和psycopg2在Jupyter中工作,将csv加载到psql中。前两列是我不太熟悉的ISO格式。是否有可接受的简单数据类型:

2017-01-01T23:00:00-00:00 
我试过日期、时间戳、不带时区的时间戳、带时区的时间戳。为了将时间戳转换为更友好的格式,我需要预处理吗

我想我可以做一些像-

cur.execute("""
CREATE TABLE test(
id integer PRIMARY KEY,
intervalbegin_gmt timestamp,
intervalend_gmt timestamp, ...
获取错误-

DataError: invalid input syntax for integer: "2017-01-01T23:00:00-00:00"

字符串是正确的时间戳输入文字:

select '2017-01-01T23:00:00-00:00'::timestamp

      timestamp      
---------------------
 2017-01-01 23:00:00
(1 row)
问题是您正试图将该列导入整数列
id

前两列是ISO格式

因此,该表应如下所示:

CREATE TABLE test(
    intervalbegin_gmt timestamp,
    intervalend_gmt timestamp, 
    ...

如果需要,可以在复制数据后添加主键。

Awesome,将主键移到末尾。工作得很有魅力!