1

我很想用这个顶级 python 库 odo 将数据从 Pandas 传输到我的 postgres db。它看起来很方便,但我无法使用它:(。

有人知道我错过了什么。应该是小事......

  • 数据框 = df
  • 用户名:postgres
  • 密码:密码
  • 主机:本地主机
  • 表:表_

所以我提供了以下代码:

import odo, pandas 
..... 
odo(df, 'postgresql://postgres:password@localhost::mapping_ean_asin') 

我得到了错误:

TypeError: 'module' object is not callable

预先感谢您的帮助 :)

4

1 回答 1

0

解决我的问题:)!

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 一致的解决方案,但我遇到了第二个错误.....

于 2018-10-18T13:42:32.193 回答