【发布时间】:2021-09-16 17:45:37
【问题描述】:
我最近开始使用 Macbook,因为我在工作时更换了笔记本电脑,之后我开始遇到一些用于将数据帧上传到 postgresql 数据库的代码的问题。
import psycopg2
from io import StringIO
def create_connection(user,password):
return psycopg2.connect(
host='HOST',
database='DBNAME',
user=user,
password=password)
conn = create_connection(user,password)
table = "data_analytics.tbl_summary_wingmans_rt"
buffer = StringIO()
df.to_csv(buffer, header=False, index=False)
buffer.seek(0)
cursor = conn.cursor()
cursor.copy_from(buffer, table, sep=",", null="")
conn.commit()
cursor.close()
如您所见,代码非常简单,甚至在更换设备之前,它在 Windows 上运行时也没有出现重大问题。但是,一旦我在 mac 上运行相同的代码,它就会抛出以下错误:
Error: relation "data_analytics.tbl_summary_wingmans_rt" does not exist
在几篇文章中,我看到它可能是使用双引号,但我已经使用了以下内容,但仍然没有得到肯定的结果。
"data_analytics."tbl_summary_wingmans_rt""
""data_analytics"."tbl_summary_wingmans_rt""
'data_analytics."tbl_summary_wingmans_rt"'
【问题讨论】:
-
您使用的是什么版本的 psycopg2? copy_from changed in version 2.9 的引用行为。
标签: python sql pandas postgresql psycopg2