iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python读取postgresql数据库详情
  • 2301
分享到

Python读取postgresql数据库详情

2024-04-02 19:04:59 2301人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录一、读取postgresql数据库二、查询数据一、读取postgresql数据库 (1)首先,我们需要安装 psycopg 驱动。通过 pip 安装最新的 psycopg pip install psycopg2 -

一、读取postgresql数据库

(1)首先,我们需要安装 psycopg 驱动。通过 pip 安装最新的 psycopg

pip install psycopg2 -i https://pypi.tuna.tsinghua.edu.cn/simple

Python读取postgresql数据库详情

(2) 创建一个数据库连接的配置文件 dbconfig.ini,添加以下内容:

[postgresql]
host = [ip地址]
port = 5432
database = xxx
user = xxx
passWord = xxx

配置文件中存储了数据库的连接信息:主机、端口、数据库、用户以及密码;我们需要按照自己的环境进行配置。

(3)然后,新建一个测试数据库连接的 python 文件 postgresql_connection.py,

文件目录结构为:

Python读取postgresql数据库详情

 postgresql_connection.py的完整代码为:

# 导入 psycopg2 模块和 Error 对象
import psycopg2
from psycopg2 import DatabaseError
from configparser import ConfigParser
def read_db_config(filename='dbconfig.ini', section='postgresql'):
    """ 读取数据库配置文件,返回一个字典对象"""
    # 创建解析器,读取配置文件
    parser = ConfigParser()
    parser.read(filename)
 
    # 获取 postgresql 部分的配置
    db = {}
    if parser.has_section(section):
        items = parser.items(section)
        for item in items:
            db[item[0]] = item[1]
    else:
        raise Exception('文件 {1} 中未找到 {0} 配置信息!'.fORMat(section, filename))
    return db
 
if __name__ == '__main__':
    db_config = read_db_config()
    connection = None
 
    try:
        # 使用 psycopg2.connect 方法连接 PostgreSQL 数据库
        connection = psycopg2.connect(**db_config)
        cur = connection.cursor()    # 创建一个游标
        cur.execute('SELECT version()')    # 获取 PostgreSQL 版本号
        db_version = cur.fetchone()
        print("连接成功,PostgreSQL 服务器版本:", db_version)    # 输出 PostgreSQL 版本
 
        # `在这里插入代码片`
 
        cur.close()    # 关闭游标
    except (Exception, DatabaseError) as e:
        print("连接 PostgreSQL 失败:", e)
    finally:
        if connection is not None:    # 释放数据库连接
            connection.close()
            print("PostgreSQL 数据库连接已关闭。")

(4)运行程序,

  • 首先,我们导入了 psycopg2 驱动和解析配置文件的 configparser 模块;
  • 然后,创建一个读取配置文件的 read_db_config 函数;
  • 接下来调用 psycopg2.connect 函数创建一个新的数据库连接;
  • 然后通过连接对象的 cursor 函数创建一个新的游标,并且执行查询语句返回数据库的版本;
  • 在此之后,调用游标对象的 fetchone() 方法获取返回结果并打印信息;
  • 最后,调用 close() 方法关闭游标资源和数据库连接对象。

执行以上脚本,返回的信息如下:

连接成功,PostgreSQL 服务器版本: ('PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled by GCc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit',)
PostgreSQL 数据库连接已关闭。

Python读取postgresql数据库详情

二、查询数据

游标对象提供了三种获取返回结果的方法:fetchone() 获取下一行数据,fetchmany(size=cursor.arraysize) 获取下一组数据行,fetchall() 返回全部数据行。

(1)我们创建一个新的文件 postgresql_query.py:

# 导入 psycopg2 模块和 Error 对象
import psycopg2
from psycopg2 import DatabaseError
from configparser import ConfigParser
 
def read_db_config(filename='dbconfig.ini', section='postgresql'):
    """ 读取数据库配置文件,返回一个字典对象
    """
    # 创建解析器,读取配置文件
    parser = ConfigParser()
    parser.read(filename)
 
    # 获取 postgresql 部分的配置
    db = {}
    if parser.has_section(section):
        items = parser.items(section)
        for item in items:
            db[item[0]] = item[1]
    else:
        raise Exception('文件 {1} 中未找到 {0} 配置信息!'.format(section, filename))
 
    return db
 
 
if __name__ == '__main__':
    db_config = read_db_config()
    connection = None
 
    try:
        connection = psycopg2.connect(**db_config)        # 使用 psycopg2.connect 方法连接 PostgreSQL 数据库
        cur = connection.cursor()        # 创建一个游标
 
        # 定义 SQL 语句
        sql = """ select id, name, age from users"""
        cur.execute(sql)        # 执行 SQL 命令
        print("用户数量:", cur.rowcount)
 
        # 获取结果
        user = cur.fetchone()
        while user is not None:
            print(user)
            user = cur.fetchone()
 
        cur.close()        # 关闭游标
    except (Exception, DatabaseError) as e:
        print("操作失败:", e)
    finally:
        if connection is not None:        # 释放数据库连接
            connection.close()

(2)游标对象的 rowcount 属性代表了返回的数据行数,fetchone() 方法返回一行数据或者 None,while 循环用于遍历和打印查询结果。由于 users 表中目前只有一行数据,

执行以上文件的结果如下:

用户数量: 2
(1, 'lane', False)
(2, 'lane_dynamic', False)

Python读取postgresql数据库详情

到此这篇关于python读取postgresql数据库详情的文章就介绍到这了,更多相关Python读取postgresql内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

--结束END--

本文标题: Python读取postgresql数据库详情

本文链接: https://www.lsjlt.com/news/34292.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python读取postgresql数据库详情
    目录一、读取PostgreSQL数据库二、查询数据一、读取postgresql数据库 (1)首先,我们需要安装 psycopg 驱动。通过 pip 安装最新的 psycopg pip install psycopg2 -...
    99+
    2022-09-28
  • python读取数据库
    一、access 1、获取表 http://blog.sina.com.cn/s/blog_92ab5a530102wjxe.html 参考这个链接。我把操作录制下来如下所示   import pypyodbc import time ...
    99+
    2022-04-14
    python读取数据库 数据库入门 数据库基础教程 数据库 mysql
  • 使用python的pandas读取excel文件中的数据详情
    目录一、读取Excel文件二、DataFrame对象的结构三、用values方式获取数据1.基本方法2.获取指定数据的写法3.示例四、用loc和iloc方式获取数据1.基本写法2.示...
    99+
    2022-11-11
  • Golang使用ini库读取配置详情
    目录go-ini的分区go-ini的安装ini文件的格式读取ini文件的配置项直接加在ini文件,通过方法读取定义结构体来存放配置项,将配置项映射到结构体中父子分区两份关键代码go-...
    99+
    2022-11-13
  • Python读取Hive数据库实现代码详解
    目录实际业务读取hive数据库的代码代码说明和领悟后续附上修改成mysql的一个例子代码背景: 在这篇文章之前,我读取数据库的数据没有形成规范,并且代码扩展性不好,使用率不高,而且比...
    99+
    2023-03-01
    Python读取Hive数据库 Python Hive数据库
  • python 操作 mongodb 数据库详情
    目录一、安装二、连接数据库三、创建数据库四、所有数据库五、创建集合六、插入数据七、查询数据八、高级查询九、count统计十、修改数据十一、删除数据十二、数据排序一、安装 pip in...
    99+
    2022-11-10
  • Python 操作SQLite数据库详情
    目录一、简单操作SQLite数据库1、简单的插入语句的使用2、简单的查询语句的使用二、更新数据与删除三、实现用户名密码验证四、SQLite检索时间记录五、SQLite提取数据并绘图 ...
    99+
    2022-11-12
  • Python读取纯真IP数据库
    一、获取最新版IP地址数据库qqwry.dat    纯真IP地址数据库下载地址:http://update.cz88.net/soft/setup.zip    在windows机器上下载解压,点击setup.exe安装,在安装目录下的q...
    99+
    2023-01-31
    纯真 数据库 Python
  • Python遍历目录下文件、读取、千万条数据合并详情
    目录一、使用Python进行文件和文件夹的判断二、使用Python完整的获取所有文件及文件夹并读取相应的文件三、使用Python合并数据append的使用一、使用Python进行文件...
    99+
    2022-11-12
  • Python如何读取MySQL数据库表数据
    本文实例为大家分享了Python读取MySQL数据库表数据的具体代码,供大家参考,具体内容如下 环境:Python 3.6 ,Window 64bit 目的:从MySQL数据库读取目标表数据,并处理 代码:...
    99+
    2022-06-04
    数据库 数据 Python
  • golangchannel读取数据的几种情况
    目录用var定义channel且不make用var定义channel且make直给写操作加for直给读操作加for读写都加for读channel的第二个返回值关闭channel继续读...
    99+
    2023-02-01
    golang channel读取 golang channel数据
  • Python读取csv文件做K-means分析详情
    目录1.运行环境及数据2.基于时间序列的分析2D2.1 2000行数据结果展示2.2 6950行数据结果展示2.3 300M,约105万行数据结果展示 3.经纬度高程三维坐...
    99+
    2022-11-13
  • 在python中读取和写入CSV文件详情
    目录前言1.导入CSV库2.对CSV文件进行读写2.1 用列表形式写入CSV文件2.2 用列表形式读取CSV文件2.3 用字典形式写入csv文件2.4 用字典形式读取csv文件结语前...
    99+
    2022-11-11
  • 详解python读取matlab数据(.mat文件)
    我们都知道,matlab是一个非常好用的矩阵计算分析软件,然额,matlab自带的绘图效果极为锯齿,所以,这里分享一个在python中读取matlab处理后的数据.mat文件。 1...
    99+
    2022-11-12
  • 利用Python 爬取股票实时数据详情
    东方财富网地址如下: http://quote.eastmoney.com/center/gridlist.html#hs_a_board 我们通过点击该网站的下一页发现,网页内容...
    99+
    2022-11-11
  • python读取leveldb数据
    import sys import leveldb def read_data(): if len(sys.argv) < 2: print "pls input leveldb dir" return -1 db = ...
    99+
    2023-01-31
    数据 python leveldb
  • Python操作PostgreSQL数据库
    个人简介:一个从会计转行数据分析师的三旬老汉 擅长领域:数据分析、数据仓库、大数据 博客内容:平时会将自己工作中遇到的问题进行归纳总结,分享给各位小伙伴,意在帮助大家少加班、不掉发,让我们相互学习...
    99+
    2023-10-27
    数据库 postgresql python
  • python连接postgresql数据库
    python连接postgresql数据库 postgresql是常用的关系型数据库,并且postgresql目前还保持着全部开源的状态,所以我们今天就一起来学习一下,如何用python连接postg...
    99+
    2023-09-04
    数据库 postgresql python
  • python数据分析之文件读取详解
    目录前言:一·Numpy库中操作文件二·Pandas库中操作文件三·补充总结前言: 如果你使用的是Anaconda中的Jupyter,则不需要下载Pands和Numpy库;如果你使用...
    99+
    2022-11-12
  • python数据处理详情
    目录一,前言二,python模块2.1,增加停用词表2.2,顺序读取2.3,lambda函数三,运行3.1,存入文件一,前言 我们现在拿到了一个十分庞大的数据集。是json文件,里面...
    99+
    2022-11-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作