Python和Postgresql

Python和Postgresql,python,postgresql,Python,Postgresql,如果您希望使用一些python操作postgresql数据库中的表中的数据(可能使用scipy对结果集进行一些分析),然后希望将该数据导出回同一数据库中的另一个表中,您将如何进行实现 执行此操作的唯一/最佳方法是运行查询,让python将其存储在数组中,用python操作数组,然后运行另一条sql语句以输出到数据库吗 我真的只是问,有没有更有效的方法来处理数据 谢谢, 伊恩我会考虑使用 SQLAlchemy是Python SQL工具包和对象关系映射器,它为应用程序开发人员提供了SQL的全部功能和

如果您希望使用一些python操作postgresql数据库中的表中的数据(可能使用scipy对结果集进行一些分析),然后希望将该数据导出回同一数据库中的另一个表中,您将如何进行实现

执行此操作的唯一/最佳方法是运行查询,让python将其存储在数组中,用python操作数组,然后运行另一条sql语句以输出到数据库吗

我真的只是问,有没有更有效的方法来处理数据

谢谢, 伊恩

我会考虑使用

SQLAlchemy是Python SQL工具包和对象关系映射器,它为应用程序开发人员提供了SQL的全部功能和灵活性


它也支持postgres-

您可以使用PL/Python编写PostgreSQL函数来操作数据


虽然tbh我认为在大多数情况下,与在外部客户机中处理它相比,这是一个很大的优势。

我不确定我是否理解你的意思,但我认为这听起来很像

INSERT INTO anothertable SELECT stuff FROM the_table RETURNING *

然后处理返回的行。当然,也就是说,如果您不想在操作数据时修改数据。

您可以使用ORM将数据检索到“对象”中,然后操作该对象。这样的实现可能比仅仅使用数组更优雅。

我同意SQL炼金术建议或使用Django的ORM。对于PL/Python,您的需求似乎很简单

这样做的唯一/最好的方法是什么 只需运行查询,就可以使用python 将其存储在数组中,操作 数组,然后运行另一个 要输出到的sql语句 数据库

这不是唯一的方法(见其他答案),但我认为这是最好的,当然也是最简单的。它只需要一个PostgreSQL库(我使用)。标准接口记录在中

使用psycopg选择<代码>的示例:

cursor.execute("SELECT * FROM students WHERE name=%(name)s;", 
               globals())
和插入的

cursor.execute("INSERT INTO Foobar (t, i) VALUES (%s, %s)", 
               ["I like Python", 42])
似乎就是你要找的