首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用odo复制Pandas Dataframe到Postgres

用odo复制Pandas Dataframe到Postgres
EN

Stack Overflow用户
提问于 2018-10-18 12:52:12
回答 1查看 521关注 0票数 1

有一个顶级的python库odo,我很想使用它将数据从Pandas传输到postgres db。它看上去很方便,但我没办法用它。

有人知道我错过了什么。一定是一件小事.

  • Dataframe = df
  • 用户名: postgres
  • 密码:密码
  • 宿主:本地主机
  • 表: table_

因此,我带着下面的代码:

代码语言:javascript
复制
import odo, pandas 
..... 
odo(df, 'postgresql://postgres:password@localhost::mapping_ean_asin') 

我发现了一个错误:

代码语言:javascript
复制
TypeError: 'module' object is not callable

预先谢谢你的帮助:)

EN

回答 1

Stack Overflow用户

发布于 2018-10-18 13:42:32

解决我的问题:)!

代码语言:javascript
复制
SQL_STATEMENT = """ COPY %s FROM STDIN WITH
    CSV
    HEADER
    DELIMITER AS ','
"""

my_file = open("/home.........csv")


def process_file(conn, table_name, file_object):
      cursor = conn.cursor()
      cursor.copy_expert(sql=SQL_STATEMENT % table_name, file=file_object)
      conn.commit()
      cursor.close()

connection =  psycopg2.connect("dbname='postgres' user='postgres' host='localhost'           password='password'")
     try:
           process_file(connection, 'my table', my_file)
     finally:
           connection.close()

我更喜欢用odo一行的解决方案,但我得到了第二个错误……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52874495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档