python etl库_如何使用python在数据库之间进行ETL?

使用psycopg2,我可以从一个PostgreSQL数据库连接中的表中选择数据,并将其插入第二个PostgreSQL数据库连接中的表中。在

不过,我只想把每一个列都写出来,我只想把它们分开。在

是否有人知道这两种方法中的一种:在数据库之间移动整个表,或

在不必为每个要移动的列声明变量的情况下迭代特性

或者。。。?在

下面是我当前使用的脚本,您可以在其中看到对特定功能的选择和变量的创建(它可以工作,但这不是一个实用的方法):import psycopg2

connDev = psycopg2.connect("host=host1 dbname=dbname1 user=postgres password=*** ")

connQa = psycopg2.connect("host=host2 dbname=dbname2 user=postgres password=*** ")

curDev = connDev.cursor()

curQa = connQa.cursor()

sql = ('INSERT INTO "tempHoods" (nbhd_name, geom) values (%s, %s);')

curDev.execute('select cast(geom as varchar) from "CCD_Neighborhoods" where nbhd_id = 11;')

tempGeom = curDev.fetchone()

curDev.execute('select nbhd_name from "CCD_Neighborhoods" where nbhd_id = 11;')

tempName = curDev.fetchone()

data = (tempName, tempGeom)

curQa.execute (sql, data)

#commit transactions

connDev.commit()

connQa.commit()

#close connections

curDev.close()

curQa.close()

connDev.close()

connQa.close()

另一个注意事项是python允许显式地处理SQL函数/数据类型转换,这对于我们处理几何数据类型非常重要。上面你可以看到我将它转换为文本,然后将其转储到源表中现有的几何列中-这将与MSSQL Server一起工作,这是地理空间社区中的一个巨大功能。。。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值