从数据库中的表获取数据

加布里埃尔·勒·赫鲁

我想从postgresql数据库中提取数据并在脚本中使用该数据(以数据框格式)。这是我最初的尝试:

from pandas import DataFrame
import psycopg2

conn = psycopg2.connect(host=host_address, database=name_of_database, user=user_name, password=user_password)

cur = conn.cursor()

cur.execute("SELECT * FROM %s;" % name_of_table)

the_data = cur.fetchall()

colnames = [desc[0] for desc in cur.description]

the_frame = DataFrame(the_data)
the_frame.columns = colnames

cur.close()
conn.close()

注意:我知道我不应该使用“字符串参数插值(%)将变量传递给SQL查询字符串”,但这对我来说非常有用。

会有更直接的方法吗?

编辑:这是我从所选答案中使用的内容:

import pandas as pd
import sqlalchemy as sq

engine = sq.create_engine("postgresql+psycopg2://username:password@host:port/database")

the_frame = pd.read_sql_table(name_of_table, engine)
约翰·兹温克

熊猫可以直接从Postgres加载数据:

import psycopg2
import pandas.io.sql as pdsql

conn = psycopg2.connect(...)

the_frame = pdsql.read_frame("SELECT * FROM %s;" % name_of_table, conn)

如果您的熊猫最近(> = 0.14),则应将sqlalchemy引擎与read_sql_query/tableread_frame已弃用)一起使用:

import pandas as pd
import sqlalchemy
import psycopg2

engine = sqlalchemy.create_engine("postgresql+psycopg2://...")

the_frame = pd.read_sql_query("SELECT * FROM %s;" % name_of_table, engine)
the_frame = pd.read_sql_table(name_of_table, engine)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从zend框架中的数据库表中获取数据

来自分类Dev

从数据库中获取复杂的表数据

来自分类Dev

如何使用foreach从数据库表中获取数据-

来自分类Dev

从3个数据库表中获取数据

来自分类Dev

如何从数据库获取数据到HTML表中?

来自分类Dev

从我的数据库表中获取数据

来自分类Dev

从数据库中获取复杂的表数据

来自分类Dev

从数据库中获取数据并显示到表

来自分类Dev

从数据库的列中的表中获取值

来自分类Dev

获取数据库表以在powershell中的dataGridView中显示

来自分类Dev

获取Postgres数据库中每个表的行数

来自分类Dev

从Firebird数据库表中获取列名列表

来自分类Dev

在C#中获取数据库表名称

来自分类Dev

从数据库表中获取记录,按月进行

来自分类Dev

如何从数据库的多个表中获取公共列?

来自分类Dev

从mysql数据库多个表中获取最新记录

来自分类Dev

如何仅获取PostgreSQL中数据库的表名

来自分类Dev

Web从COSMIC数据库中获取突变表

来自分类Dev

从多个数据库的某个表中获取行数

来自分类Dev

在C#中获取数据库表名称

来自分类Dev

获取数据库表中的记录总数

来自分类Dev

如何从数据库表中获取哈希

来自分类Dev

从数据库表中获取记录,按月进行

来自分类Dev

尝试在Smarty中获取表和数据库的数组

来自分类Dev

如何从数据库的多个表中获取公共列?

来自分类Dev

从mysql数据库多个表中获取最新记录

来自分类Dev

从数据库中按位置(行)获取表名称

来自分类Dev

如何从特定数据库中获取表的列名?

来自分类Dev

从数据库表中获取选定的值?