python - Postgres 时间戳不接受 2017-01-01T23:00:00-00:00
问题描述
在 Jupyter 中使用 Python3 和 psycopg2 将 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,
...
如果需要,您可以在复制数据后添加主键。
推荐阅读
- python - 使用单元格值重命名 XLS 文件 - 删除空格和特殊字符
- asp.net-core - 在 WebAssembly 中触发登录操作时发送附加查询字符串
- java - 用 Java 表示的将 12 小时上午/下午 meridiem 格式小时转换为 24 小时格式的算法是什么?
- excel - 运行时错误“1004”:尝试将具有匹配条件的行从一个表复制到另一个表时,Range 类的 PasteSpecial 方法失败
- google-bigquery - 正则表达式包含在 bigquery 示例中
- unity3d - 无法从“UnityEngine.Vector3”转换为“UnityEngine.Quaternion”
- javascript - 无需等待即可解决承诺
- javascript - 如何从存根函数中获取返回值?
- c++ - 我的项目不会使用未定义的引用错误进行编译,例如“未定义对 `grpc::g_core_codegen_interface' 的引用”
- javascript - 我的 JSON 文件格式是否正确?