【发布时间】:2018-03-28 19:39:24
【问题描述】:
我正在尝试将数据从 csv 加载到我的 postgres 数据库。我正在使用 sqlalchemy(以及连接/原始 sql 数据方法而不是 ORM 方法)。但是,我成功地创建了具有相应字段的表。使用 copy-from 时没有任何反应:我没有收到错误,但我的表也是空的。
conn = eng.connect()
trans = conn.begin()
try:
conn.execute("""CREATE TABLE IF NOT EXISTS table_name(var1 numeric, date date, time time, datetime timestamp primary key,....);""")
trans.commit()
except:
trans.rollback()
raise
try:
# File 1 bid
conn.execute("""COPY table_name FROM '/home/user/csvfile.csv'
WITH CSV HEADER DELIMITER as ','""")
trans.commit()
except:
trans.rollback()
raise
Jupyter 笔记本没有报告错误消息。
我做错了什么?
另外,我不太明白:
file = "/home/user/csvfile.csv"
conn.execute("""COPY table_name FROM file
WITH CSV HEADER DELIMITER as ','""")
在“文件”中产生错误。
【问题讨论】:
-
数据库和应用程序是否在同一个服务器,这样数据库也可以访问
/home/user/csvfile.csv? -
你好 Jim,是的,他们都在同一个服务器上;我正在使用 AWS。
标签: python postgresql csv sqlalchemy connection