首页 > 解决方案 > pandas dataframe.to_sql 关闭自动时区偏移

问题描述

Pandas DataFrame.to_sql 自动将 FixedOffsetTimezone 添加到数据帧。我的初始数据帧索引没有时区: 在此处输入图像描述

但是,当我尝试保存数据框并检索值时,返回的索引具有时区 -4:

在此处输入图像描述

在此处输入图像描述

有谁知道如何关闭它?熊猫文档没有提到它dataframe.to_sql

ats.all.to_sql("ats_all", con, if_exists="replace")

其中 con=SQL Alchemy 连接

数据库=带有 pgAdmin 4 的 Postgres

标签: pythonpandaspostgresqlsqlalchemy

解决方案


我找到了解决方案:问题确实出在 postgres 设置中。数据库时区设置为 -4。这是将时区设置为0的sql

--check current timezone setting
SELECT current_setting('TIMEZONE');

--need to restart database for the change to kick in
ALTER DATABASE postgres SET timezone TO 'GMT';

推荐阅读